PowerShellのStart-Processの-RedirectStandardOutputで標準出力をファイルにリダイレクトするパフォーマンスが悪い

Microsoft PowerShellで記述したいバッチ処理があって、標準出力に大量のデータを出力するプログラムで標準出力をファイルにリダイレクトする処理を途中で起動させたい。 PowerShell内では、Start-Processでコマンドを起動させ、その際に-RedirectStandardOutputで標準出力をファイルにリダイレクトすることができる。 しかし、MS-DOSバッチファイル(.batファイル)中で実行すれば数分間で終了する処理が、-RedirectStandardOutputを利用すると1時間経っても終わらなかった。 いろいろ試したが、-RedirectStandardOutputは非常にパフォーマンスが悪いようだ。 結局& command.batのように、リダイレクト処理をする.batファイルを起動することで、数分間で終わるようにする戻すことができたが、必要なファイルが2つになってしまうのが 残念だった。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

文化庁の自由利用マーク

文化庁の自由利用マーク というのがあって、 ITmediaの記事「文化庁、CCライセンスを支援へ 独自ライセンス構築は断念」 によると、2013年の時点で普及はあきらめているらしい。 文化庁のウェブページを見ても、そもそも「コピーOK」「障害者OK」「学校教育OK」とい...