我有一个批处理文件,它通过以下方式以管理模式运行命令(在另一个批处理文件中):
//instructions above
powershell.exe -Command "Start-Process file.bat -Verb RunAs"
//instructions below
file.bat
仅包含:
iisreset
exit
我希望能够直接在单个批处理文件中运行它。可以做到吗?我希望得到类似这样的结果:
powershell.exe -Command "Start-Process 'iisReset && exit' -Verb RunAs"
但这不起作用。
答案1
该Start-Process
cmdlet 假定第一个参数(-FilePath
具体来说)只是要运行的程序的文件名。这就是您收到“找不到指定的文件”错误的原因。该-ArgumentList
选项旨在传递参数。因此,这应该可以满足您的要求:
powershell -Command "Start-Process 'cmd' -Verb RunAs -ArgumentList '/c calc && exit'"
&& exit
请注意,在某些情况下您甚至可能不需要该部件。