批量查找和操作显示部分重复的文件

时间:2016-08-13 19:56:30

标签: batch-file cmd

我有一个问题。是否有可能以批处理语言搜索和显示文件名中前五个字母相同的文件。此文件夹包含数千个文件。例如

22222rewrs344234w.mp3

22222asdqweavasd.mp3

234seqwe.mp3

32434.mp3

qwedasdasdasd.mp3

qwedasasdasd.mp3

11122asdas.mp3

11122asdasd.mp3

...

...

...

我需要在cmd中只显示文件名

22222rewrs344234w.mp3

22222asdqweavasd.mp3

11122asdas.mp3

11122asdasd.mp3

qwedasdasdasd.mp3

qwedasasdasd.mp3

因为前五个字母是相同的。如果文件夹不包含5个字符的副本,则会打印一个消息文件夹 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

@echo off
setlocal EnableDelayedExpansion

rem Group files with same 5 chars prefix in name
for %%a in (*.*) do (
   set "file=%%a"
   for /F %%f in ("!file:~0,5!") do set "group[%%f]=!group[%%f]! %%a"
)

rem Show groups that have more than one name
for /F "tokens=2*" %%a in ('set group[') do (
   if "%%b" neq "" echo Same prefix: %%a %%b
)