Windows bat 中特殊变量
当前CMD工作目录:%cd%
当前bat 文件所在盘符: %~d0
当前bat 文件所在目录:%~dp0
当前bat 文件完整路径:%~f0
用 Windows 自带记事本编写 test.bat 脚本:
@echo off title 测试脚本 echo 当前CMD工作目录:%cd% echo 当前bat 文件所在盘符:%~d0 echo 当前bat 文件所在目录:%~dp0 echo 当前bat 文件短文路径:%~sdp0 echo 当前bat 文件完整路径:%~f0 cd %~d0 echo cd到当前bat 文件所在盘符后,CMD默认目录:%cd% cd %~dp0 echo cd到当前bat 文件所在目录后,CMD默认目录:%cd% pause
bat 脚本常见错误
问题一: 中文乱码
解决: 记事本另存为时指定编码 ANSI 类型。
问题二:cd 找不到路径
解决:如果路径中包含空格,则应该将路径加文件名用双引号括起来。
问题三:Win 10 执行 .. 上级目录下的xxx.bat 失败,找不到文件
解决:需要将当前CMD工作目录切换到当前你希望的目录下,Win 7不设置CMD工作目录会是当前bat文件所在目录,Win 10 上则可能是 C:\Windows\System32目录。
@echo off title 安装xxx服务 %~d0 cd %~dp0 echo 当前CMD默认目录:%cd% ../xxx-wrapper.bat install pause