我很生气(在我看来)应该是一个简单的任务:在我的桌面上(但可能在任何地方)我有一个文件夹“project”,一个“console.msc”和另一个文件夹“files”里面。
“console.msc”有一个运行file1.bat的任务,如果我使用完整路径但它不能与相对路径一起工作。
c:\ users \ user1 \ Desktop \ project \ files \ file1.bat WORKS
。\ files \ file1.bat不起作用
我一直看到,自定义mmc使用提升的权限(好的,我想要它),但用于调用file1.bat的相对路径不起作用,返回的错误是“Windows无法找到[..] “
有没有人知道如何告诉Windows保持当前文件夹运行mmc?任何线索欢迎! :-)
使用提升的权限运行进程可能会导致该进程使用不同的working directory,这就是相对路径无法正常工作的原因。
如果您不想使用绝对路径,则必须找到一种方法来获取应用程序所在目录的路径,然后将相对路径附加到该路径。
您没有指定运行任务的方式,但如果它来自另一个.BAT文件,则批处理文件目录的完整路径存储在%~dp0
变量下。您可以查看this question的答案以获取更多详细信息。
您还可以使用像Process Explorer这样的工具来查看有关正在运行的进程的信息,包括工作目录(在那里称为当前目录)。