获取包含当前执行的批处理脚本的目录

获取包含当前执行的批处理脚本的目录

我使用%0批处理文件来获取批处理文件的包含目录,但结果是:-

c:\folder1\folder2\batch.bat

我只想要目录,不需要批处理文件名,如下所示:-

c:\folder1\folder2\

我该怎么做?也许我应该过滤路径。如果是,我该怎么做?

答案1

%~p0

将仅返回路径。

%~dp0

将返回驱动器+路径。

有关此主题的更多信息,请访问微软网站

关于此语法的信息也可以在为了for /?命令在Windows操作系统上执行。

答案2

当前目录位于 %CD%

答案3

一些影响文件名的表达式:

~f0将提供完全限定的文件名。
~dpnx0将给出与相同的结果~f0,但这表明您可以将其分解为几个部分:d = 驱动器 p = 路径 n = 名称 x = 扩展名

答案4

使用 chdir 命令

选项1:

chdir 

选项 2:

echo %CD%

相关内容