一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。

但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,

一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样需要在批处理文件中加入绝对路径,如果把bat文件移动到其它位置就无法使用了,此时一种更好的方式是用"cd /d %~dp0”代替"cd D:\XX”。

 综上所述,在写bat文件的时候,不管是否需要用到管理员权限,最好在行首加一句"cd /d %~dp0",以统一文件的起始目录。

bat中使用了相对路径,cd到bat所在目录,再运行没有问题

但直接使用绝对路径运行bat时,会出现相对路径不正确的问题

可以通过在bat获取当前bat所在的目录,然后cd 该目录来解决该问题

在bat前面增加如下两行:

set curdir=%~dp0
cd /d %curdir% 

例如,AUTO_CALLCENTER_CONFIG.bat处于文件夹G:\AUTO_CALLCENTER_CONFIG下,

以下为AUTO_CALLCENTER_CONFIG.bat的内容

bat中使用相对路径的问题

相关文章:

  • 2022-02-07
  • 2021-05-18
  • 2022-12-23
  • 2021-12-11
  • 2021-11-04
  • 2021-05-26
  • 2021-12-22
  • 2021-11-07
猜你喜欢
  • 2021-06-18
  • 2021-04-02
  • 2021-11-27
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案