Board logo

标题: [文件操作] [已解决]批处理如何查找并显示重复文件? [打印本页]

作者: zhanglei1371    时间: 2013-12-3 22:07     标题: [已解决]批处理如何查找并显示重复文件?

本帖最后由 zhanglei1371 于 2013-12-4 11:47 编辑

在我的优盘I中存在不少重复文件,分布在不同的文件夹中,如何用批处理命令将重复文件的路径输出到文本并显示重复次数?
如I:\12\3s.jpg和I:\46\25\3s.jpg和I:\77\3s.jpg
输出结果就显示为:
3s.jpg重复了三次,位置为:
I:\12\3s.jp
I:\46\25\3s.jpg
I:\77\3s.jpg
其他的以此类推
作者: apang    时间: 2013-12-3 23:59

本帖最后由 apang 于 2013-12-4 16:10 编辑
  1. set x=Nothing '&cls&dir/a-d/b/s I:\* | cscript -nologo -e:vbscript "%~0" &pause&exit/b
  2. Set fso = CreateObject("Scripting.FileSystemObject")
  3. Set dic = CreateObject("Scripting.Dictionary")
  4. Do Until WScript.StdIn.AtEndOfStream
  5.     file = WScript.StdIn.ReadLine
  6.     name = LCase(Right(file,Len(file)-InStrRev(file,"\")))
  7.     If dic.Exists(name) Then
  8.         dic.Item(name) = dic.Item(name) & vbCrLf & file
  9.     Else dic.Add name,file
  10.     End If
  11. Loop
  12. For Each a in dic.Keys
  13.    If InStr(dic.Item(a),vbCrLf) Then
  14.       n = UBound(Split(dic.Item(a),vbCrLf)) + 1
  15.       str = str & a & "重复了" & n & "次,位置:" & vbCrLf
  16.       str = str & dic.Item(a) & vbCrLf & vbCrLf
  17.    End If
  18. Next
  19. fso.CreateTextFile("Result.txt",true).Write str
复制代码

作者: zhanglei1371    时间: 2013-12-4 10:28

回复 2# apang


    感谢阿胖大师的解答!
还想再多问下,在cscript后可执行的其他脚本,除了vbs和jscript外,还有没其他的?
作者: apang    时间: 2013-12-4 16:28

回复 3# zhanglei1371


    菜鸟一只,不是什么大师
vbs我也是新手,其它的我不知道。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2