批处理脚本用于设置具有当前路径位置的变量

mas*_*aki 43 windows cmd batch-file

如何设置当前位置的变量?就像我进入c:\ test并设置变量一样,它将被测试..如果我进入c:\ test\test2,变量将是test2?...

我正在考虑使用for来进入很多文件夹并检查是否存在某个文件,如果存在正确的文件我想将当前文件夹设置为变量,以便我可以复制路径并复制此文件夹...

好的主要问题是将其余文件复制到与.inf相同的文件夹中...请帮忙!

非常感谢你

jeb*_*jeb 71

当前目录位于"shadow"变量cd中.
你可以试试

set "var=%cd%"
Run Code Online (Sandbox Code Playgroud)

  • 对于那些完全不熟悉 DOS 批处理脚本的人来说,了解本示例中的 *var* 应替换为您为变量选择的任何名称,而 %cd% 应保持原样可能会有所帮助。例如:`set "currentDirectory=%cd%`。然后在其他地方使用该变量作为`%currentDirectory%`。如上所述,不要在此命令中添加空格。 (6认同)

ten*_*our 13

%~dp0
Run Code Online (Sandbox Code Playgroud)

这会扩展到当前运行的批处理文件的驱动器和路径.我通常使用以下内容包围我的批处理文件:

@echo off
pushd %~dp0

...

popd
Run Code Online (Sandbox Code Playgroud)

编辑:好像我不明白OP.我的示例获取当前运行脚本的位置,而不是"当前目录".+1到jeb.

  • @massaki:它在命令提示符下不起作用; 它只适用于批处理文件.`%dp0`是批处理文件的第0个参数的驱动器和路径,它是批处理文件本身的完整路径. (2认同)