欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Windows 批处理脚本 (BAT 文件) 中,可以使用以下方式获取当前脚本所在的目录:
%~dp0bat@echo off set "script_dir=%~dp0" echo 当前脚本目录是: %script_dir% pause
解释:
%~dp0 是一个特殊的批处理变量扩展:
%0 表示批处理文件本身
~d 提取驱动器字母
~p 提取路径
组合起来就是完整的路径(包括尾部反斜杠)
bat@echo off set "script_dir=%~dp0" set "script_dir=%script_dir:~0,-1%" echo 当前脚本目录是: %script_dir% pause
请注意:
所有方法获取的都是脚本的存储位置,而不是当前工作目录
如果要获取当前工作目录,可以使用 %CD%
%~dp0 方法会自动在路径末尾包含反斜杠,如果需要去除,可以使用字符串截取(如方法2)
如需测试,可以将脚本保存在不同目录下运行,观察输出结果。