0

コマンドラインプロセスを起動したいとします。プロセスが「Enterを押して終了」のようなユーザー入力を受け入れるとします。Powershellのユーザーからの入力を求めるプロセスを終了するにはどうすればいいですか?

どのようにsuckのプロセスを呼び出し、そのプロセスから戻り値を取得するのですか?

上記のコードはPowershellのシナリオでクラッシュしますか?

function InvokeProcess 
{ 
param (
     [parameter(Mandatory=$true)] 
     [ValidateNotNullOrEmpty()]$ExeName, 
     [parameter(Mandatory=$false)] 
     [ValidateNotNullOrEmpty()]$Arguments 
    ) 
    try 
    { 
     [string] $ExecutablePath = $Path + $ExeName 
     $FullPath = [string] $ExecutablePath + $Arguments 
     $result = & $FullPath 
    } 
    catch 
    { 
     $Msg = "Exception: $error[0]" 
     WriteLog $Msg "Error" 
    } 
} 
+1

を引き起こしますか? 'Read-Host'を使うことができます。実行可能ファイルが実行されるのをPowerShellウィンドウが待つようにしたいですか? 'Wait-Process'を使うことができます。 –

+0

'$ result =&$ ExecutablePath $ Arguments' –

+0

@Bryce私はどんなプロセスも待っていません。そのプロセスは、入力が終了するように促しているので、コードがクラッシュします。 – raj

答えて

0

$を使用すると、入力を求めるためにパラメータ名を欠けている= & $ ExecutablePath $ ARG1 $ arg2の

関連する問題