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

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

0 件のコメント:

コメントを投稿

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

Windows 11 Pro 24H2からSambaのguest ok = yesな共有フォルダーへアクセスする

Microsoft Windows 11 Proを動かしているマシンで、sambaでguest ok = yesにしている共有フォルダーにアクセスしていた。 Windows 11を24H2にアップデートしたところ、その共有フォルダーを開こうとすると、ログインを求められ、...