web-dev-qa-db-ja.com

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" 

しかし、これは機能しません。

4
benscabbia

Start-Processコマンドレットは、最初のパラメーター(-FilePath、具体的には)実行するプログラムのファイル名のみです。そのため、「指定されたファイルが見つかりません」というエラーが発生しました。 -ArgumentListオプションは、パラメーターを渡すように設計されています。したがって、これはあなたが望むことをするはずです:

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

&& exit一部の状況で一部。

4
Ben N