トップ回答者
ROBOCOPYの失敗ファイルの特定について

質問
回答
-
C:\>robocopy /?
...
/LOG:file :: output status to LOG file (overwrite existing log).
/LOG+:file :: output status to LOG file (append to existing log)./UNILOG:file :: output status to LOG file as UNICODE (overwrite existinglog).
/UNILOG+:file :: output status to LOG file as UNICODE (append to existinglog)....
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:50
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
-
なぜ、ログを見て特定しようとしないのでしょうか?
- 編集済み HomeCloset 2013年10月10日 1:20 typo
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:49
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
-
>この"抜き出したい文字"に何をしたらよいのでしょうか?
何をして失敗としようとしていますか?たとえば、同じファイル名が合ってスキップしたいファイルを取得するのであれば以下のようにして下さい。
何を失敗とするかの定義については、バックアップや資源担当の管理者と相談してください。findコマンドでは条件が一つしか指定できないため複数指定したいのであればfindstrを利用してください
robocopy (略) /LOG:<ファイル名> /V /TEE | findstr /c:"同じ"
100%とでたものを成功とし、それ以外の行を表示
robocopy (略) /LOG:<ファイル名> /V /TEE | find /v "100%"
-
チャブーンです。
/LOGオプションで「失敗したファイル名」が取れるのであれば、PowerShellでスクリプト化して、invoke-commandでrobocopyを同期的に実行し、実行終了後にget-contentで該当LOGファイルを読み込んでコレクションとし、$<LOGのコレクション>|foreach-object {IF ($_ -match "<失敗を示す文字列>") {$_}}で抽出してあげればいいのかなと。
この方法は、目で見る代わりにスクリプトで自動化しただけで、やってることは「目で見てチェックする」と同じコンテキストになります。
- 編集済み チャブーンMVP, Moderator 2013年10月10日 5:26
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:49
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
すべての返信
-
C:\>robocopy /?
...
/LOG:file :: output status to LOG file (overwrite existing log).
/LOG+:file :: output status to LOG file (append to existing log)./UNILOG:file :: output status to LOG file as UNICODE (overwrite existinglog).
/UNILOG+:file :: output status to LOG file as UNICODE (append to existinglog)....
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:50
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
-
なぜ、ログを見て特定しようとしないのでしょうか?
- 編集済み HomeCloset 2013年10月10日 1:20 typo
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:49
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
-
チャブーンです。
/LOGオプションで「失敗したファイル名」が取れるのであれば、PowerShellでスクリプト化して、invoke-commandでrobocopyを同期的に実行し、実行終了後にget-contentで該当LOGファイルを読み込んでコレクションとし、$<LOGのコレクション>|foreach-object {IF ($_ -match "<失敗を示す文字列>") {$_}}で抽出してあげればいいのかなと。
この方法は、目で見る代わりにスクリプトで自動化しただけで、やってることは「目で見てチェックする」と同じコンテキストになります。
- 編集済み チャブーンMVP, Moderator 2013年10月10日 5:26
- 回答の候補に設定 チャブーンMVP, Moderator 2013年10月10日 6:49
- 回答としてマーク 佐伯玲 2013年10月25日 6:46
-
>この"抜き出したい文字"に何をしたらよいのでしょうか?
何をして失敗としようとしていますか?たとえば、同じファイル名が合ってスキップしたいファイルを取得するのであれば以下のようにして下さい。
何を失敗とするかの定義については、バックアップや資源担当の管理者と相談してください。findコマンドでは条件が一つしか指定できないため複数指定したいのであればfindstrを利用してください
robocopy (略) /LOG:<ファイル名> /V /TEE | findstr /c:"同じ"
100%とでたものを成功とし、それ以外の行を表示
robocopy (略) /LOG:<ファイル名> /V /TEE | find /v "100%"