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

выполнить команду ssh без пароля? [дубликат]
Инструмент командной строки для записи метаданных flac, ogg vorbis и mp3 id3v2?
Переключатель RoboCopy для исключения папок верхнего уровня
ffmpeg работает на терминале не с PHP exec
как остановить выполнение команды в командной строке windows 10
Как я могу удалить все файлы / подпапки в данной папке с помощью командной строки?
Скрипт для получения изображений в папке с размерами a.txt файл
Как сохранить файл с помощью wordpad с cmd?
Запуск программы с использованием вина.аргументы exe
Ctrl+c не работает с gedit
Обновление Debian Squeeze до Stretch
Arch Linux pacman ошибка при загрузке общих библиотек на Raspberry Pi
Как сканировать изображение и автоматически обрезать его до отсканированного содержимого с помощью инструмента командной строки linux?
Пакетный скрипт для обрезки строк в тексте только до первых 30 или 50 символов
uglifyjs: команда не найдена

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

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