Как переименовать ряд файлов в командной строке Windows?

Как переименовать ряд файлов как это в командной строке Windows?

текущие имена файлов:

file111.txt  
file112.txt  
file113.txt  

после переименования имен файлов:

file0111.txt  
file0112.txt  
file0113.txt  

Как я могу достигнуть этого?

1
задан 14.06.2012, 00:22

1 ответ

Сценарий пакетной обработки:

for %%f in (file???.txt) do call :ren %%f
goto :eof

:ren
    set name=%1
    ren "%name%" "%name:~0,4%0%name:~4%"

    :: Here, %name:~0,4% takes the first four characters, then you add a "0",
    :: and %name:~4% is everything after the fourth character.

Другой возможный путь, который проверяет на все файлы, запускающиеся с file100.txt и так далее, так могло бы быть медленнее:

for /l %f in (100,1,999) do if exist "file%f.txt" ren "file%f.txt" "file0%f.txt"

(Если Вы хотите поместить это в пакетный файл, необходимо измениться %f кому: %%f, то же как в первом примере.)

2
ответ дан 12.12.2019, 12:54

Теги

Похожие вопросы