2つのフォルダ内のファイルを比較する

  • scanした大量(3万以上)のpdfファイルをNASに保存していたが、そのHDが壊れた。ファイルは別のPCに手動でbackupしていたが、あくまで手動なので、backupのないファイルがある可能性がある。NASのHDを取り出しマウントすると、短時間のマウントは可能である。
  • 課題 手動バックアップしたフォルダAとNASのHDのフォルダBを比較して、BにあってAにないファイルを抽出してそれをAに移す
  • 手順
  • #1 フォルダのファイルリストをつくる
    • 使用ソフト textwrangler
    • TextWrangler

      TextWrangler

      • Bare Bones Software, Inc.
      • 開発ツール
      • 無料
      apps.apple.com
    • 参考サイト
    • blog.yamafd.com
    • textwrangerで新規ファイルを開き、そこに調べたいフォルダをdrag&dropでファイルリストができる
    • ただし、数が多いと数分またなくてはならない
    • それをsave asでsave
    • 私の場合はファイル名に漢字あり。save asで改行コードとencodingを設定できるが、encodingを試行錯誤したが文字化けしてしまった。
    • そこでsaveせず、ファイルをコマンド+Aで選択、コマンド+Cでコピー、エクセルを開いて、コマンド+Vでpasteで文字化けせず、リストをエクセルにもってこれた
  • #2 エクセルでフォルダAのリストとフォルダBのリストの比較
  • ファイルは五桁の数字"_"+名前となっていたので、LEFT関数ではじめの5数字を抽出した列をつくる
  • フォルダAの数字のリストがB列、フォルダBの数字リストがD列にあるとすると、
  • =VLOOKUP(B2,$F2:$F30000,1,0)
  • フォルダAにもBにもあるばあいが、その数字が帰り、ファルダAにあるがBにない場合は、エラー(#N/A)が帰る
  • #3 エクセルでエラーの部位を検索
  • #N/Aを目で追うのは厄介
  • 数式/エラーの確認/トレースで#N/Aに飛ぶので当該番号を記録
  • #4 記録した番号のpdfファイルがbackupしていないので、不具合のあるHDから救出した。