如何在cmd或bat脚本中找到当前脚本的目录路径?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1314个文字,预计阅读时间需要6分钟。
Q:在Win7/Win10中,以管理员身份运行在cmd/bat脚本时,如何获取当前脚本文件所在目录?A:可以使用 `%~dp0` 变量来获取当前脚本文件的目录。例如,在批处理脚本中,直接使用 `%~dp0` 就可以输出脚本所在的路径。
Q:在Win7/Win10中以管理员身份运行在cmd/bat脚本时,如何获取当前脚本文件所在目录?
当我们在Win7/Win10中使用鼠标右键的“以管理员身份运行”以管理员身份运行cmd/bat脚本时,系统默认进入的目录是C:\Windows\System32目录,因此cmd脚本文件中的相应命令因路径不对提示找不到要执行的程序文件等提示。
netpay_Service.exe -installnetpay_Monitor.exe -install
A:解决办法:使用cd /d %~dp0,先进入cmd/bat脚本所在的目录,再去执行其他命令。
netpay_Monitor.exe -install
netpay_Service.exe -install的系统服务时,普通用户显然权限是不够的。
于是在InstllSvc_En.cmd右键选择“以管理员身份运行”,此时又会出问题,win7/win10可能出于安全问题考虑,此时获得的目录是C:\Windows\System32,于是提示netpay_Service.exe命令无效或程序文件不存在,执行出错。
此时在脚本开始尝试加入命令cd %cd%,来获取当前路径,实验得知,这行语句在xp等系统中有效,但是在win7/win10中依然无效。得到的目录依然是C:\Windows\System32。
本文共计1314个文字,预计阅读时间需要6分钟。
Q:在Win7/Win10中,以管理员身份运行在cmd/bat脚本时,如何获取当前脚本文件所在目录?A:可以使用 `%~dp0` 变量来获取当前脚本文件的目录。例如,在批处理脚本中,直接使用 `%~dp0` 就可以输出脚本所在的路径。
Q:在Win7/Win10中以管理员身份运行在cmd/bat脚本时,如何获取当前脚本文件所在目录?
当我们在Win7/Win10中使用鼠标右键的“以管理员身份运行”以管理员身份运行cmd/bat脚本时,系统默认进入的目录是C:\Windows\System32目录,因此cmd脚本文件中的相应命令因路径不对提示找不到要执行的程序文件等提示。
netpay_Service.exe -installnetpay_Monitor.exe -install
A:解决办法:使用cd /d %~dp0,先进入cmd/bat脚本所在的目录,再去执行其他命令。
netpay_Monitor.exe -install
netpay_Service.exe -install的系统服务时,普通用户显然权限是不够的。
于是在InstllSvc_En.cmd右键选择“以管理员身份运行”,此时又会出问题,win7/win10可能出于安全问题考虑,此时获得的目录是C:\Windows\System32,于是提示netpay_Service.exe命令无效或程序文件不存在,执行出错。
此时在脚本开始尝试加入命令cd %cd%,来获取当前路径,实验得知,这行语句在xp等系统中有效,但是在win7/win10中依然无效。得到的目录依然是C:\Windows\System32。

