【发布时间】:2020-02-23 14:49:01
【问题描述】:
我正在使用此代码创建文件夹并统一具有相同名称的文件,结果发现某些文件可以正常工作,就像 3D 池的情况一样,但文件具有的其他情况(磁盘 1 of 2),(磁盘 2 of 2) 不起作用,可以帮忙吗?
@echo off
setlocal
set "basename=."
for /F "tokens=1* delims=." %%a in ('dir /B /A-D ^| sort /R') do (
set "filename=%%a"
setlocal EnableDelayedExpansion
for /F "delims=" %%c in ("!basename!") do if "!filename:%%c=!" equ "!filename!" (
set "basename=!filename!"
md "!basename!"
)
move "!filename!.%%b" "!basename!"
for /F "delims=" %%c in ("!basename!") do (
endlocal
set "basename=%%c
)
)
我的结构文件夹与文件:
3D Pool (1989)(Firebird Software)(Disk 1 of 2).dsk
3D Pool (1989)(Firebird Software)(Disk 2 of 2).dsk
3D Pool (1989)(Firebird Software).dsk
3D Pool (1989)(Firebird Software)[cr Steel McKraken - Exocet].dsk
5th Axis, The (1985)(Loriciels)(fr).dsk
5th Axis, The (1985)(Loriciels)(fr)[a].dsk
5th Axis, The (1985)(Loriciels).dsk
Zolyx (1988)(Firebird Software).dsk
Zolyx (1988)(Firebird Software)[t].dsk
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2).dsk
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2)[6128 Version].dsk
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2)[6128 Version].dsk
Zombi (1990)(Ubisoft)(fr)[464 Version].dsk
使用批处理时,它会创建文件夹并将文件放入其中:
3D Pool (1989)(Firebird Software)
3D Pool (1989)(Firebird Software)[cr Steel McKraken - Exocet]
5th Axis, The (1985)(Loriciels)
Zolyx (1988)(Firebird Software)
Zolyx (1988)(Firebird Software)[t]
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2)
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2)[6128 Version]
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2)
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2)[6128 Version]
Zombi (1990)(Ubisoft)(fr)[464 Version]
我希望批处理按名称将文件放在文件夹中,使其尽可能干净:
3D Pool (1989)(Firebird Software)
3D Pool (1989)(Firebird Software)(Disk 1 of 2).dsk
3D Pool (1989)(Firebird Software)(Disk 2 of 2).dsk
3D Pool (1989)(Firebird Software).dsk
3D Pool (1989)(Firebird Software)[cr Steel McKraken - Exocet].dsk
5th Axis, The (1985)(Loriciels)
5th Axis, The (1985)(Loriciels)(fr).dsk
5th Axis, The (1985)(Loriciels)(fr)[a].dsk
5th Axis, The (1985)(Loriciels).dsk
Zolyx (1988)(Firebird Software)
Zolyx (1988)(Firebird Software).dsk
Zolyx (1988)(Firebird Software)[t].dsk
Zombi (1990)(Ubisoft)(fr)
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2).dsk
Zombi (1990)(Ubisoft)(fr)(Disk 1 of 2)[6128 Version].dsk
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2).dsk
Zombi (1990)(Ubisoft)(fr)(Disk 2 of 2)[6128 Version].dsk
Zombi (1990)(Ubisoft)(fr)[464 Version].dsk
这样可以吗?
【问题讨论】:
标签: file batch-file directory