如何获取调用批处理文件的目录路径?

如何获取调用批处理文件的目录路径?

如果您将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%,在这种情况下无效。

相关内容