none
PowerShellからperlスクリプトを起動し終了を待つにはどうすればよいでしょうか? RRS feed

  • 質問

  • お世話になります。
    PowerShellからperlスクリプトを起動しスクリプトが終了するまで待つにはどうすればよいでしょうか?
    出力をPowerShell内に出したいのでStart-Processを使いましたが、-Waitを入れても待ってくれません。

    $plexe  = "C:\Perl64\bin\perl.exe";
    $testpl  = "C:\test.pl A B";
    Start-Process $plexe $testpl -Wait -NoNewWindow ;
    Write-Output "AAA";

    のように試してみましたが、"AAA"の後にtest.plからの出力が表示されます。
    -PassTrueを付け、idを取得してWait-Processしても結果は同じでした。
    メモ帳等では画面が閉じるまで"AAA"まで進まないのですが・・・
    何か良い方法は無いでしょうか

    2011年2月15日 12:57

回答

  • 自己レスです。

    c:\test.pl内でexecを使用して別のperlスクリプトを起動していた為に上記のような現象になっていました。
    execをopenに置き換え出力を受け取る事で望んだ形になりました。

    • 回答としてマーク 星 睦美 2011年2月16日 5:55
    2011年2月16日 4:04

すべての返信

  • 自己レスです。

    c:\test.pl内でexecを使用して別のperlスクリプトを起動していた為に上記のような現象になっていました。
    execをopenに置き換え出力を受け取る事で望んだ形になりました。

    • 回答としてマーク 星 睦美 2011年2月16日 5:55
    2011年2月16日 4:04
  • masaru_ric さん、こんにちは
    フォーラム オペレーターの星 睦美です。

    結果をお知らせいただきありがとうございます。
    同じようにうまくいかずに手がかりの情報を探している方の参考になると思いますので
    私から[回答としてマーク]をさせていただきました。

    今後ともTechNet フォーラムをよろしくお願いします。


    日本マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2011年2月16日 6:00