2015-04-07 3 views
0

У меня есть файл bat, который переименовывает все файлы png в файлы data_. Она начинается от data_1 и data_2 .... Я хочу начать с data_140 и data_141 ...Переименуйте файл bat с определенного номера

Как сделать это?

:: Renaming files 
for %%a in (*.png) do (
    set /a count+=1 
    set "fname=%%~a" 
    setlocal enabledelayedexpansion 
    ren "!fname!" data_!count!.png 
    endlocal 
) 
+3

В чем проблема? 'Просто представьте свой 'count'variable перед' for'. – Stephan

+0

Вам не нужно задавать переменную 'count'. Из 'help set':« Если имя переменной среды указано, но не определено в текущей среде, то используется значение 0 [с переключателем '/ A']." – indiv

+1

@indiv: Я имел в виду предустановить его с 'set count = 139'. Извините, я думал, это было очевидно. – Stephan

ответ

0

Я не вижу проблемы. SET /A count+=1 начинается с count = 0, поскольку он еще не определен. Если вы хотите, чтобы ваш скрипт начинался с 140, просто сделайте set count=139, прежде чем вводить цикл:

:: Renaming files 
set count = 139 
for %%a in (*.png) do (
    set /a count+=1 
    set "fname=%%~a" 
    setlocal enabledelayedexpansion 
    ren "!fname!" data_!count!.png 
    endlocal 
) 
Смежные вопросы