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

Как открыть Chrome из командной строки с определенными страницами на вкладках в Mac OS X?
С помощью команды systeminfo на сетевом компьютере
Вывод командной строки для разделения файлов
7-Zip и распаковка из командной строки
Как добавить префикс ко всем файлам и папкам в папке? (Windows)
команда ffmpeg не найдена, но установлена на сервере
Tshark. Список всего трафика между двумя IP?
Как я могу остановить/запустить приложение Java из командной строки?
Как удобно переключиться в командный режим vi в командной строке zsh?
Как использовать Msg.exe для отправки сообщений на Windows 7?
Как запускать Chrome всегда с определенными командами
Как извлечь определенную часть текста с помощью powershell?
Я хочу удалить определенное количество старых файлов в папке.УМК
ffmpeg: нераспознанная опция 'crf'. Ошибка разделения списка аргументов: параметр не найден
Командная строка Linux: рекурсивная перезапись каждого файла с gzip-версией?

Кратные переименование файлов с частью имени исходного файла

Я хочу переименовать 40 png файлов в одну папку, у них очень длинные имена. Их поочередно называют вот так: "бла-бла...чепуха...blah160.ПНГ", "бла-бла...чепуха...blah200.png " т. е. после 40 буквенно-цифровых символов приходит серийный номер в трех цифрах (160), я хочу, чтобы только последние три цифры оставались в имени файла, поэтому "бла...чепуха...blah160.png "должен стать" 160.png", есть простая одна строка DOS (cmd.exe) команда в win 7?

5
задан Vikram
источник

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 2013-06-06 07:35:28
источник

Другие вопросы command-line rename windows-7