当批处理以管理员身份运行时,默认的cmd路径是 C:\Windows\system32
如果在批处理所在目录下存放了一些 安装程序,使用bat安装程序时,bat中去执行时 不会去当前目录去找 exe文件,而是去默认的cmd路径寻找,提示不是内部命令;dir也会遍历 默认的cmd路径
方法1: 使用扩展变量 切换一下
%~d0 获取当前盘符
%~dp0 获取当前批处理文件所在盘符和路径
%cd% 获取当前cmd默认路径
可以使用 cd %~dp0
切换一下 切到 当前目录
@echo off echo %~d0 获取当前盘符 echo %~dp0 获取当前批处理文件所在盘符和路径 echo %cd% 获取当前cmd默认路径 cd %~dp0 echo %~d0 获取当前盘符 echo %~dp0 获取当前批处理文件所在盘符和路径 echo %cd% 获取当前cmd默认路径 pause
这种办法 在批处理所在路径是 C盘的时候 不会出问题,但是 如果一旦当前 批处理所在路径是D盘 E盘 就不行了,就需要在前面加一个%~d0
方法2:
资源路径可以使用 扩展变量 去拼接,路径少的时候 可以,多了的话 拼接路径会有点麻烦