QA@IT

select-stringコマンド

2560 PV

robocopyとselect-stringについて

robocopyの結果は、LOGオプションで確認できますが、
なんせ大量に出力され、コピーができなかったファイルやアクセスできなかった
ファイルなどをlogの中から目視で特定するのは大変ですよね。

そこで、robocopyのログからコピーできなかったファイルだけを
Powershellの文字列検索コマンド( Select-String)で抽出してみたのですが、
PowerShellの構文やselect-stringの使い方合っていますか?
-pathとか良くわからない状態ですが、しっかりと、"エラー"
プロセスはファイルにアクセスできません。別のプロセスが使用中です。"
という箇所の行だけ出力されたファイルができあがりましたが、
本当に使い方など正しいのか・・・自身無しです。

select-stringではなく、コマンドプロンプトのfindではできないですかね?

<実行>
まず、コマンドプロンプトよりrobocopyを実施。
admin>robocopy C:\windows D:\bk /MIR /R:1 /W:3 /TEE /LOG:roblog.txt

そして、PowerShellでコピーできなかったファイルだけを吐き出す。
get-content C:\user\administrator\robolog.txt | Select-String "エラー","プロセスはファイルにアクセスできません。別のプロセスが使用中です。" > erro.txt

どなたかご教授下さい。

  • RichCopyなどのGUIツールを使って設定ログ吐出ししたほうが効率よくないですか? -
ウォッチ

この質問への回答やコメントをメールでお知らせします。