2013-12-05 5 views
0

Я ударил кирпичную стену с файлом BAT, который я пытаюсь сделать.BATCH File - Переименовать и Инкрементный номер папки?

Это моя файловая структура ..

C: \ видео \ ** в этом файле у меня есть различные файлы/папки, некоторые папки запуска AB** (THE ** является четырехзначный номер), который я хочу переименовать ARCHIVEAB **, которые я могу сделать с этим: -

for /D %%f in (C:\video\AB*) do rename "%%f" "ARCHIVE~%%~nxf" 

Моя проблема заключается в том, что папка видео всегда будет заселить в конце концов, с тем же номером АВ, что я хотел бы, если число AB вновь появился бы для файла чтобы число стояло перед ним последовательно - так что я бы в итоге что-то вроде ..

ARCHIVEAB1234 
1ARCHIVEAB1234 

и если появился другой файл ab123 он бы тогда

ARCHIVEAB1234 
1ARCHIVEAB1234 
2ARCHIVEAB1234 

Любые указатели?

ответ

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), чтобы сохранить согласованность длины имени каталога.

+0

Это работает на месте - я не могу вам достаточно поблагодарить :-) – Mongoose1980

Смежные вопросы