Я хочу переименовать 40 png файлов в одну папку, у них очень длинные имена. Их поочередно называют вот так: "бла-бла...чепуха...blah160.ПНГ", "бла-бла...чепуха...blah200.png " т. е. после 40 буквенно-цифровых символов приходит серийный номер в трех цифрах (160), я хочу, чтобы только последние три цифры оставались в имени файла, поэтому "бла...чепуха...blah160.png "должен стать" 160.png", есть простая одна строка DOS (cmd.exe) команда в win 7?
Кратные переименование файлов с частью имени исходного файла
10
1 ответ
следующий файл cmd должен выполнить эту работу:
@echo off & setlocal
for %%F in (*.png) do call :doIt %%F
goto xit
:doIt
set name=%~n1
set num=%name:~-3%
set ext=%~x1
set lentest=%name:~40,3%
if not [%lentest%]==[] (
copy "%1" %num%%ext%
:: del "%1"
)
goto :EOF
:xit
endlocal
раскомментируйте строку "del", чтобы удалить версию с длинным именем.
можно сжать это в меньшем количестве строк, но это сделало бы его менее понятным.
0
отвечен Axel Kemper 2023-04-17 19:59
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]