这是因为以管理员身份运行bat脚本后,脚本的工作路径就会变到C:\Windows\System32这个目录中去,而不是脚本所在的那个目录。
如果要解决此问题,请使用记事本打开此脚本,也就是在脚本上右键选择编辑,然后在里面代码开头新起一行写上以下一句代码后,保存即可。
cd /d %~dp0
补充信息
windows下bat批处理中%cd%和%~dp0的区别
:: ==================================================================================
:: windows下bat批处理中%cd%和%~dp0的区别
:: 1. %cd% 可以用在批处理文件中,也可以用在命令行中;
:: 展开后,是驱动器盘符:+当前目录,如在dos窗口中进入c:\dir目录下面,
:: 输入:echo %cd% ,则显示为:c:\dir 。
:: %cd%的内容是可以被改变的,其内容为命令的执行路径或批处理文件的执行路径。
::
:: 2.%~dp0只可以用在批处理文件中,它是由它所在的批处理文件的目录位置决定的,是批处理
:: 文件所在的盘符:+路径。在执行这个批处理文件的过程中,它展开后的内容是不可以改变的。
::
:: cd /d %~dp0的意思就是cd /d d:\test
:: %0代表批处理本身 d:\test\a.bat
:: ~dp是变量扩充
:: d既是扩充到分区号 d:
:: p就是扩充到路径 \test
:: dp就是扩充到分区号路径 d:\test