对于一个脚本而言,获取自身所在的路径是非常常见的操作。在
sh 中,我一般通过 dirname "$0"
的方式来获取脚本自身所在的路径。但在 .bat
中,首先是没有 dirname
这个好用的命令,其次是没有 `command`
这种运行一个命令并取得输出内容的方法,因此获取自身所在路径就有没那么看上去很优雅很
Unix 的方法了。不过还好,微软对 .bat
增加了一些扩展功能,其中就包括了获取自身所在路径,只要通过传说中的参数扩展语法就可以实现了。获取自身路径的方法是:%~dp0
。
简要解释一下,%~
表示使用参数扩展语法,dp
表示扩展之后的参数为只包含盘符和路径的形式,不包含文件名,接下来的
0
表示第 0 个参数,也就是该 .bat 文件自身。
在命令行中输入 help for
可以看到完整的参数扩展语法列表。