2017-08-18 12 views
1

私はCMDで次のPowerShellコマンドを実行しようとしています:私は(昇格された権限のために)UACを得ることができるように出力ウィンドウを閉じずにPowerShell Start-Processを実行するには?

powershell -Command "Start-Process MSBuild.exe MyProject.sln -Verb RunAs" 

私はPowerShellでこれを実行しています。 CMDに相当するものがあるかどうかはわかりません。

ここでは、ダブルクリックして実行できるように、バッチファイル内からPowerShellスクリプトを実行します。

しかし、実行が終了するとただちに終了し、ビルドエラーメッセージが表示されます(ビルドエラーメッセージが表示されない場合)。

MSBuild.exeが新しいウィンドウでの実行を終了した場合、どうすればいいですか?waitまたはpause

+0

これをpowershell_iseから実行し、プロセスとして呼び出す必要はありません。&を使用して直接呼び出すことができます。 :) –

+0

[Start-Process](https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Management/Start-Process)には、コマンドを実行する-NoNewWindowスイッチがあります。現在のウィンドウ、あなたはそれを試すことができますか? –

+0

PS:出力を解析してスクリプト内のそれ以上の処理を行うことができます: '' $ Buildresult =&$ msbuild $ solutionFile $ NoErrorFound = $ buildresult -match "0エラー\(s \)" '' – Curios

答えて

0

noexitコマンドは、PowerShellウィンドウを開いたままにします。あなたのバッチファイルで

powershell -noexit -Command "Start-Process MSBuild.exe MyProject.sln -Verb RunAs"

+0

はそれを試しても動かない。 –

0

、最後にpauseを追加

powershell -Command "Start-Process MSBuild.exe MyProject.sln -Verb RunAs" 
pause 

あなたが見ている問題は、バッチファイルのすべてを実行した後、コマンドウィンドウを閉じるではなく、PowerShellが終了シェルを実行します。

関連する問題