我打了一个砖墙,上面写着我试图制作的BAT文件。
这是我的文件结构..
此文件中的 c:\ video \ **
我有各种文件/文件夹,有些文件夹以AB**
(**
是四个数字)开头,我要重命名ARCHIVEAB **
我可以用它来做: -
for /D %%f in (C:\video\AB*) do rename "%%f" "ARCHIVE~%%~nxf"
我的问题是视频文件夹最终将使用相同的AB编号重新填充,我想要的是,如果重新出现的AB编号将是文件的顺序放在它前面 - 所以我会最终得到类似的东西。
ARCHIVEAB1234
1ARCHIVEAB1234
如果出现另一个AB123文件,它将成为
ARCHIVEAB1234
1ARCHIVEAB1234
2ARCHIVEAB1234
任何指针?
答案 0 :(得分:2)
@ECHO OFF
SETLOCAL
for /D %%f in (.\AB1*) do (
IF EXIST "ARCHIVE~%%~nxf" (
SET reqren=Y
FOR /l %%x IN (1,1,999) DO IF DEFINED reqren IF NOT EXIST "%%xARCHIVE~%%~nxf" (rename "%%f" "%%xARCHIVE~%%~nxf"&SET "reqren=")
) ELSE (rename "%%f" "ARCHIVE~%%~nxf")
)
GOTO :EOF
应该看到这个问题。您可能希望将(1,1,999)
更改为(100,1,999)
以保留目录名长度一致性。