ディレクトリ内の .txt ファイルを 1 つずつ検証するバッチ ファイルをプログラミングしています。ファイルが複製されている場合、この複製ファイルは別のディレクトリに移動されます。それを行うよりもはるかに速い方法が存在するかどうか、誰か教えてもらえますか?
前もって感謝します!
ディレクトリ内の .txt ファイルを 1 つずつ検証するバッチ ファイルをプログラミングしています。ファイルが複製されている場合、この複製ファイルは別のディレクトリに移動されます。それを行うよりもはるかに速い方法が存在するかどうか、誰か教えてもらえますか?
前もって感謝します!
名前ではなく、テキスト ファイルの内容を比較するつもりだったとします。
@echo off
setlocal enabledelayedexpansion
for %%x in (*.txt) do for %%y in (*.txt) do (
  if "%%~x" neq "%%~y" (
    echo n | comp "%%~x" "%%~y"
    if !errorlecel!==0 (
      echo Duplicat found.
      set newDir=%%~nx_Duplicate
      if not exist "!newDir!" md "!newDir!"
      move "%%~y" "!newDir!"
    )
  )
)
上記のコードは、各ファイルの重複を検索し、FILENAME_Duplicate などの名前のディレクトリに配置します。したがって、比較thisfile.txtしthatfile.txtて重複が見つかった場合は、thatfile.txtというディレクトリに移動しthisfile_Duplicateます。
md5sum ( http://en.wikipedia.org/wiki/Md5sum ) を使用してすべてのファイルのチェックサムを作成し、ファイルの代わりにチェックサムを比較します。それはずっと速くなります。