ディレクトリ内の .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 ) を使用してすべてのファイルのチェックサムを作成し、ファイルの代わりにチェックサムを比較します。それはずっと速くなります。