* 2つのフォルダ内を比較する [#b62c0767]

** チェックサムで比較する [#i7d05c8e]
*** Windows標準コマンド [#x3ffaab8]
 cmop dir1 dir2
 fc /b dir1 dir2

*** WinMerge [#b59d72f3]
WinMergeを使う。

これらの方法は正確だが、時間が掛かる。

** ファイル名とタイムスタンプとファイルサイズで比較する [#q42acfab]
*** robocopy [#c53f074d]
 robocopy dir1 dir2 /s /e /log:"c:\tmp\1.log" /l
 robocopy dir2 dir1 /s /e /log:"c:\tmp\2.log" /l
上のコマンドを実行して、1.logと2.logを確認する。ファイル一覧で、先頭に”新しい”や”新しいファイル”という記述があれば、そのファイルは差分を持っている。”新しい”はタイムスタンプが新しく、”新しいファイル”は片方のフォルダにしか存在しないという意味。
- 上のコマンドを実行して、1.logと2.logを確認する。
- ログファイル内のファイル一覧で、先頭に"新しい"や"新しいファイル"という記述があれば、そのファイルは差分を持っている。"新しい"はタイムスタンプが新しく、"新しいファイル"は片方のフォルダにしか存在しないという意味。
- 差分があったファイル(フォルダ)の数は、ログファイル内の最後で、"コピー済み"に"ファイル 3"、"フォルダ 2"のように記述される。

*** PowerShellでファイルリストを作ってWinMergeで差分比較 [#o6a42723]

 PS tmp> dir -r dir1 | % { $p = Resolve-Path -Relative $_.FullName; ($p, $_.LastWriteTime, $_.Length) -join "," } > 1.csv
 PS tmp> dir -r dir2 | % { $p = Resolve-Path -Relative $_.FullName; ($p, $_.LastWriteTime, $_.Length) -join "," } > 2.csv
 PS tmp> winmerge.exe .\1.csv .\2.csv

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS