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

ben*_*bia 5 windows powershell batch command-line cmd.exe

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

//instructions above

powershell.exe -Command "Start-Process file.bat -Verb RunAs" 

//instructions below
Run Code Online (Sandbox Code Playgroud)

file.bat 只包含:

iisreset
exit
Run Code Online (Sandbox Code Playgroud)

我希望能够在单个批处理文件中直接运行它。这能做到吗?我希望像这样:

 powershell.exe -Command "Start-Process 'iisReset && exit' -Verb RunAs" 
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

Ben*_*n N 5

Start-Processcmdlet 假定第一个参数(-FilePath特别是 )只是要运行的程序的文件名。这就是您收到“找不到指定的文件”错误的原因。该-ArgumentList选项旨在传递参数。因此,这应该做你想做的:

powershell -Command "Start-Process 'cmd' -Verb RunAs -ArgumentList '/c calc && exit'"
Run Code Online (Sandbox Code Playgroud)

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