欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

bat 获取当前 bat 脚本所在的目录 AG chatgpt 有大用 有大大用

在 Windows 批处理脚本 (BAT 文件) 中,可以使用以下方式获取当前脚本所在的目录:

方法 1:使用 %~dp0

bat
@echo off set "script_dir=%~dp0" echo 当前脚本目录是: %script_dir% pause

解释:

  • %~dp0 是一个特殊的批处理变量扩展:

    • %0 表示批处理文件本身

    • ~d 提取驱动器字母

    • ~p 提取路径

    • 组合起来就是完整的路径(包括尾部反斜杠)

方法 2:更完整的处理(去除尾部反斜杠)

bat
@echo off set "script_dir=%~dp0" set "script_dir=%script_dir:~0,-1%" echo 当前脚本目录是: %script_dir% pause

请注意:

  1. 所有方法获取的都是脚本的存储位置,而不是当前工作目录

  2. 如果要获取当前工作目录,可以使用 %CD%

  3. %~dp0 方法会自动在路径末尾包含反斜杠,如果需要去除,可以使用字符串截取(如方法2)

如需测试,可以将脚本保存在不同目录下运行,观察输出结果。


普通分类: