从'快捷方式'运行时,Windows批处理文件的起始目录和'以管理员身份运行

时间:2017-11-11 06:00:36

标签: windows batch-file cmd directory uac

我的情况类似于问题(除了后面提到的内容): Windows batch file starting directory when 'run as admin'

简介:

  

我有一个批处理文件,它位于目录中,也必须从那里运行,因为它会更新此目录中的文件。

     

有没有办法仍然能够知道批处理文件从哪个目录运行 (当它以管理员身份运行时)
  我不希望用户手动输入目录。

我使用的解决方案是:

  

尝试访问批处理文件路径,如下所示:

echo %~dp0

现在我的案例如下:
我在其他目录中有我的批处理文件的快捷方式。当我运行其中一个快捷方式时,起始目录是原始批处理文件的目录(而不是快捷方式的路径)。

有没有办法仍然能够知道快捷方式(批处理文件)的目录是从哪个目录运行的?

1 个答案:

答案 0 :(得分:0)

将此脚本复制到包含其中一个快捷方式的每个目录中。修改快捷方式以调用此脚本。然后修改您的脚本以使用%CD%。

@cd /d %~dp0
@call path\to\your\script.cmd