关于批处理文件(编程)

时间:2012-09-04 16:25:06

标签: windows file batch-file

我正在编写一个批处理文件 验证目录中的逐个.txt文件, 如果文件是重复的,那么这个duplicade文件 被移动到另一个目录。 任何人都可以告诉我,如果存在更多的方式 比那快?

提前致谢!

2 个答案:

答案 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.txtthatfile.txt进行比较并发现它们是重复的,则会将thatfile.txt移动到名为thisfile_Duplicate的目录中。

答案 1 :(得分:1)

使用md5sum(http://en.wikipedia.org/wiki/Md5sum)创建所有文件的校验和,并比较校验和而不是文件。它会快得多。