如何设置当前位置的变量?就像我进入c:\ test并设置变量一样,它将被测试..如果我进入c:\ test \ test2,变量将是test2? ...
我正在考虑使用for来进入很多文件夹并检查是否存在某个文件,如果存在正确的文件我想将当前文件夹设置为变量,以便我可以复制路径并复制此文件夹......
好的所以主要问题是将其余文件复制到与.inf相同的文件夹中...请帮忙!
非常感谢你
答案 0 :(得分:66)
当前目录位于“shadow”变量cd中 你可以试试
set "var=%cd%"
答案 1 :(得分:13)
%~dp0
这扩展到了驱动器和驱动器当前运行的批处理文件的路径。我通常用以下内容包围我的批处理文件:
@echo off
pushd %~dp0
...
popd
编辑:好像我不明白OP。我的示例获取当前运行脚本的位置,而不是“当前目录”。 +1到jeb。
答案 2 :(得分:2)
我认为这里有一点点困惑。 %CD%始终具有当前目录,因此您无需添加任何内容即可。但是,通过重新阅读原始问题,我认为您需要当前目录的最后一部分,即当前位置的名称,不包括所有以前的位置。如果是这样,那么你可以使用它:
set i=0
:nextdir
set /a i+=1
for /f "tokens=%i% delims=\" %%a in ("%CD%") do if not "%%a" == "" set lastdir=%%a& goto nextdir
echo Current location: %lastdir%