如果您将test.bat
文件放在 Windows 10 机器的桌面上,那么您只需test
在 Windows 目录资源管理器的地址栏中写入即可调用它。
此行为由命令用来cmd
在任何自定义目录中启动命令行,如下所述这里。
现在我的test.bat
工作就像cmd
我想知道我的批处理文件从哪里调用。我的意思是test
在地址栏中调用命令的目录。
答案1
批处理脚本有一些变量可以用来获取有关脚本的特殊信息。
%1
是%9
调用批处理脚本后使用的参数,但是%0
是包括批处理文件本身的文件名在内的完整路径。
因此,如果批处理文件存储在桌面上,%0
则将是:
c:\users\user\Desktop\test.bat
鉴于这%0
给了我们这些信息,我们可以使用特殊运算符来提取路径。
您正在寻找的变量是%~dp0
。
为了将其存储在变量中并在以后使用它,您可以使用以下命令:
set scriptpath=%~dp0
echo %scriptpath% :: will output c:\users\user\Desktop
答案2
他想要确定调用批处理文件的目录,而不是批处理文件的目录。您的答案就像 %CD%,在这种情况下无效。