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

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

0 件のコメント:

コメントを投稿

NetBSDでCreative BT-W3を使ってみる

この記事は、 NetBSD Advent Calendar 2021 の2日目の記事です。 2日目から遅刻してすみません。 はじめに Bluetooth Audio on OpenBSD with the Creative BT-W3 という記事を読む前では...