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

CLI: быстрая загрузка большого количества небольших файлов по ftp
Как установить CATALINA HOME в командной строке Windows 7?
Добавление постоянного параметра компилятора в g++
Сохранение Настроек Командной Строки (Цвет, Заголовок)
В powershell есть ли способ скопировать в последний каталог в стеке`pushd " d?
Кратные переименование файлов с частью имени исходного файла
Почему xcopy возвращает "недопустимое число параметров"?
Размер окна CMD
Общение по локальной сети с помощью командной строки
Пакетная команда для поиска и замены текста в тексте, содержащем не-TXT файл
Перемещение файла в папку архива в cmd с помощью подстановочных знаков
Как использовать подстановочные знаки в командной строке?
Что такое аргумент командной строки 7-Zip для создания самораспаковывающегося архива?
Отправить письмо через Gmail из командной строки
Скрипт для установки "скрыть расширения файлов"

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

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