我的情况类似于问题(除了后面提到的内容): Windows batch file starting directory when 'run as admin'
简介:
我有一个批处理文件,它位于目录中,也必须从那里运行,因为它会更新此目录中的文件。
有没有办法仍然能够知道批处理文件从哪个目录运行 (当它以管理员身份运行时) ?
我不希望用户手动输入目录。
我使用的解决方案是:
尝试访问批处理文件路径,如下所示:
echo %~dp0
现在我的案例如下:
我在其他目录中有我的批处理文件的快捷方式。当我运行其中一个快捷方式时,起始目录是原始批处理文件的目录(而不是快捷方式的路径)。
有没有办法仍然能够知道快捷方式(批处理文件)的目录是从哪个目录运行的?
答案 0 :(得分:0)
将此脚本复制到包含其中一个快捷方式的每个目录中。修改快捷方式以调用此脚本。然后修改您的脚本以使用%CD%。
@cd /d %~dp0
@call path\to\your\script.cmd