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

我使用batch file中的%0来获取batch file的包含目录,但结果是: –

c:\folder1\folder2\batch.bat

我只想要目录,没有batch file名,像这样: –

c:\folder1\folder2\

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

 %~p0 

只会返回path。

 %~dp0 

将返回驱动器+path。

有关该主题的更多信息可以在微软网站上find

当前目录保存在%CD%

一些影响文件名的expression式:

~f0将给出完整的文件名。
~dpnx0将给出与~dpnx0相同的内容,但是这表明你可以把它分解成几部分:d =驱动器p =pathn =名称x =扩展名

使用chdir命令

选项1:

 chdir 

选项2:

 echo %CD%