外部プログラムの起動直接指定PS> notepad.exe test.txt
Invoke-ExporessionPS> $str = "Get-Process | select -First 1" PS> Invoke-Expression $str PS> $str = "notepad.exe test.txt" PS> Invoke-Expression $str
Invoke-ItemPS> Invoke-Item test.txt
&演算子PS> $cmd = "notepad.exe" PS> $arg1 = "test.txt" PS> & $cmd $arg1 PS> $cmd = "ping.exe" PS> $all_args = @("-n", "3", "www.yahoo.co.jp") PS> & $cmd $all_args PS> & "C:\Program files\mycommand.exe" "test 2016.txt"
参考外部コマンドプロンプト呼び出し cmd /cPS> cmd /c "ping.exe -n 2 www.yahoo.co.jp" 123.1.2.123 からの応答: バイト数 =32 時間 =13ms TTL=57 123.1.2.123 からの応答: バイト数 =32 時間 =13ms TTL=57
外部コマンドプロンプト呼び出しの結果を変数に格納するPS> $result_text = cmd /c dir *.txt PS> $result_text ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4567-1234 です C:\temp のディレクトリ 2018/08/16 17:32 3 1.txt 2018/08/16 17:32 3 2.txt 2018/08/16 17:32 3 3.txt
CMDでプログラムを実行する場合の戻り値の判定& cmd.exe /c 'ping.exe doesnotexist && exit 0 || exit 1' Write-Host $? # => False Write-Host $LASTEXITCODE # => 1
Start-ProcessPS> $ps = Start-Process ping.exe -ArgumentList "-n 10 www.yahoo.co.jp" -PassThru
参考http://social.technet.microsoft.com/wiki/contents/articles/7703.powershell-running-executables.aspx |
|