我有一个问题。是否有可能以批处理语言搜索和显示文件名中前五个字母相同的文件。此文件夹包含数千个文件。例如
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个字符的副本,则会打印一个消息文件夹 有人可以帮我解决这个问题吗?
答案 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
)