• ベストアンサー

powershellでコンソール表示をテキスト保存

powershellでコンソールに表示された結果を 保存するにはどうしたらよいでしょうか? 保存してもコンソール表示はしたいので、 リダイレクトは無しでお願いしたいと思います。

質問者が選んだベストアンサー

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.1

リダイレクトは無し というのは、 PS C:\Users\User1\ps> 1,2 >log.txt;get-content log.txt 1 2 ではだめだということでしょうか。 つまり、リアルタイムで表示したうえで記録も残しておきたい、と。 そうであればおそらく最初に候補とすべきはTee-Objectでしょうか。 PS C:\Users\User1\ps> 1,2 | tee-object log.txt 1 2 この例では違いはわかりませんがリアルタイムで表示しているはずです。 なお、ファイルの代わりに変数に保存することもできます(引数 -Variable に文字列で指定) あとはStart-Transcriptでセッションの記録を開始してStop-Transcriptで記録終了する方法もあるようです。 (余談ですが、参考URLの「Tee-Objectにはファイルの追加モードが無い」というのはPowerShell 2.0までの話のようです)

参考URL:
http://mtgpowershell.blogspot.jp/2011/12/tee-object.html
omorinoya35234
質問者

お礼

そうですね。リアルタイム表示だと進歩度やエラー部分がすぐ分かるので。 どちらも試してみましたが、Start-Transcriptが求めていた機能でした。 Start-Transcript設置していない時と同じ表示だったのが良かったです。 有難うございました。