如何将指令从 PowerShell 命令传递给 cmd.exe?

如何将指令从 PowerShell 命令传递给 cmd.exe?

我有一个批处理文件,它通过以下方式以管理模式运行命令(在另一个批处理文件中):

//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-Processcmdlet 假定第一个参数(-FilePath具体来说)只是要运行的程序的文件名。这就是您收到“找不到指定的文件”错误的原因。该-ArgumentList选项旨在传递参数。因此,这应该可以满足您的要求:

powershell -Command "Start-Process 'cmd' -Verb RunAs -ArgumentList '/c calc && exit'"

&& exit请注意,在某些情况下您甚至可能不需要该部件。

相关内容