BATCH文件 - 重命名和增量文件夹编号?

时间:2013-12-05 21:57:23

标签: batch-file

我打了一个砖墙,上面写着我试图制作的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

任何指针?

1 个答案:

答案 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)以保留目录名长度一致性。