更新日:2022/03/17
start-transcript はWindows Powershell 環境でstart-transcript 〜 stop-transcript の間の出力をファイルに保存する便利な機能です。
ログを自動で取得したい場合などに活用すると思います。コマンドなどの出力も自動で保存されていきます。
ただし 2022年3月現在で、robocopy の出力はstart-transcript 〜 stop-transcript で記録されないようです。
よってrobocopy の結果を保存するには代替案を採用する必要があります。
主に次の2通りの方法があります。
(1)結果を変数に代入し編集を出力する
(2)robocopy の /LOG オプションで別途フェイルに記録する
次の例では robocopy の結果を変数 output に代入し、その後この変数の中身を出力しています。結果は"c:\temp\PowershellCommandOutput.txt"に保存されます。
サンプルコード:
Start-Transcript c:\temp\PowershellCommandOutput.txt
$output = robocopy c:\temp\1 c:\temp\2
write-host $output
Stop-Transcript
実行結果:
トランスクリプトが開始されました。出力ファイル: c:\temp\PowershellCommandOutput.txt
------------------------------------------------------------------------------- ROBOCOPY :: Windows の堅牢性の高いファイル コピー ------------------------------------------------------------------------------- 開始: 2022年3月17日 20:32:43 コピー元 : c:\temp\1\ コピー先 : c:\temp\2\ ファイル: *.* オプション: *.* /DCOPY:DA /COPY:DAT /R:1000000 /W:30 ------------------------------------------------------------------------------ 0 c:\temp\1\ *EXTRA File 0 新しいビットマップ イメージ.bmp ------------------------------------------------------------------------------ 合計 コピー済み スキップ 不一致 失敗 Extras ディレクトリ: 1 0 1 0 0 0 ファイル: 0 0 0 0 0 1 バイト: 0 0 0 0 0 0 時刻: 0:00:00 0:00:00 0:00:00 0:00:00 終了: 2022年3月17日 20:32:43
トランスクリプトが停止されました。出力ファイル: C:\temp\PowershellCommandOutput.txt
以下省略
次の例では robocopy の /LOG オプションにより結果をファイルに保存しています。
サンプルコード:
robocopy c:\temp\1 c:\temp\2 /LOG:c:\temp\PowershellCommandOutput.txt
実行結果:
ログ ファイル: c:\temp\PowershellCommandOutput.txt
[Powershell FAQ トップへ]
[FAQ CENTER トップ]
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018