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

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

0 件のコメント:

コメントを投稿

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

GnuPG2で、revoke済みのUIDを表示させる

20年以上利用して来たインターネット・サービス・プロバイダーの提供してくれている電子メールアドレスを廃止することにした。 近年は全く価値に見合うようなサービス品質ではないように考えられるアカウントもあったし、受信がほぼできなくなるような状態になったりすることもあった。 ...