Windows批处理脚本:使用带空格的绝对路径以管理员身份运行终端

Windows批处理脚本:使用带空格的绝对路径以管理员身份运行终端

在批处理脚本中使用绝对路径时遇到问题。

脚本代码:

powershell -c start -verb runas cmd '/c start cd "%~dp0%SomeScript.bat"'

%~dp0%:脚本的绝对路径

我想以管理员身份启动终端,因此我可以使用另一个可供使用的脚本。

代码在某些时候可以工作,但是它会提示打开终端,即使 Windows 提示中的绝对路径是正确的,然后我收到错误:

Cannot find the path specified.

我搜索了整个互联网,却找不到解决方案。

答案1

cd从批次中删除:

powershell -c start -verb runas cmd '/c start "%~dp0%SomeScript.bat"'

在下面的例子中,绝对路径是C:\Users\User\Desktop,您的命令将被翻译为: C:\Windows\system32\cmd.exe /K cd C:\Users\User\Desktop\SomeScript.bat

这样,除非你删除该命令,否则它将不起作用cd,它将如下所示: C:\Windows\system32\cmd.exe /K C:\Users\User\Desktop\SomeScript.bat

相关内容