我正在编写一个批处理文件 验证目录中的逐个.txt文件, 如果文件是重复的,那么这个duplicade文件 被移动到另一个目录。 任何人都可以告诉我,如果存在更多的方式 比那快?
提前致谢!
答案 0 :(得分:2)
假设您想要比较文本文件的内容,而不是名称:
@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
的目录中。
答案 1 :(得分:1)
使用md5sum(http://en.wikipedia.org/wiki/Md5sum)创建所有文件的校验和,并比较校验和而不是文件。它会快得多。