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

yek*_*chi 3 batch window cmd.exe windows-10

如果您test.bat在 Windows 10 计算机的桌面上放置了一个文件,那么您只需test在 Windows 目录资源管理器的地址栏中写入即可调用它。

此行为是使用cmd命令描述启动命令行中的任何自定义目录位置

现在我test.bat的工作就像cmd我想知道从哪里调用我的批处理文件一样。我的意思test是在地址栏中调用命令的目录。

LPC*_*hip 5

批处理脚本有一些变量可以用来获取有关脚本的特殊信息。

%1to%9是调用批处理脚本后使用的参数,但它%0是包含批处理文件的文件名本身的完整路径。

因此,如果批处理文件存储在桌面上,则为%0

c:\users\user\Desktop\test.bat
Run Code Online (Sandbox Code Playgroud)

鉴于这%0为我们提供了这些信息,我们可以使用特殊运算符来提取路径。

您正在寻找的变量是%~dp0.

为了将其存储在变量中并在以后使用它,您可以使用以下命令:

set scriptpath=%~dp0
echo %scriptpath%   :: will output c:\users\user\Desktop
Run Code Online (Sandbox Code Playgroud)