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

Массовое переименование и перемещение файлов
Настройка Notepad++ для запуска knitr2pdf
Как списка конкретной от папок в корневой папке с wzzip виде (WinZip) командной строки в мой пакетный скрипт?
вызвать программу из CMD, Путь содержит пробелы
Сохранение Настроек Командной Строки (Цвет, Заголовок)
В windows я могу перенаправить stdout на (именованный) канал в командной строке?
Как использовать подстановочные знаки в командной строке?
Команда DOS для удаления файла 001.* копии, но только если файл.* существует
Пакет ffmpeg узнать продолжительность видео файла без мета данных
Команды git Баш не дают выход в ConEmu
Преобразование MKV с DTS audio в MKV с AAC, AC3 или MP3 аудио
Как получить BIOS serialnumber с помощью команды WMIC
Синхронизация файлов с помощью 7-Zip и интерфейса командной строки
Как создать многострочный текстовый файл с Echo в командной строке Windows?
7-Zip и распаковка из командной строки

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

Я хочу переименовать 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