我正在编写一个批处理文件,该文件逐个验证目录中的 .txt 文件,如果文件重复,则将此重复文件移动到另一个目录。谁能告诉我是否存在比这样做更快的方式?
提前致谢!
我正在编写一个批处理文件,该文件逐个验证目录中的 .txt 文件,如果文件重复,则将此重复文件移动到另一个目录。谁能告诉我是否存在比这样做更快的方式?
提前致谢!
假设您的意思是要比较文本文件的内容,而不是名称:
@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
.
Create checksums of all files with md5sum (http://en.wikipedia.org/wiki/Md5sum) and compare checksums instead of files. It'll be a lot faster.