переименование файлов в cmd с использованием подстановочных знаков - PullRequest
15 голосов
/ 08 января 2012

Я пишу BAT-файл для переименования некоторых файлов.Мои файлы *.jpg, где * - имя файла, и я хочу, чтобы они были *-thumb.jpg.

. При попытке сделать RENAME *.jpg *-thumb.jpg мои файлы отображаются как *.jpg-thumb.jpg.

.

Ответы [ 2 ]

28 голосов
/ 02 октября 2012

На самом деле только команда RENAME может решить проблему, если в названии есть только один .. Просто используйте много ? вместо одного *.

REN *.jpg ????????????????????-thumb.*

Просто убедитесь, что число ? не меньше, чем самое длинное имя файла, которое будет переименовано.

Вы можете убедиться, что имена с несколькими . не были случайно названы, используя также множество ? в маске источника. Следующее переименует «abc.jpg» в «abc-thumb.jpg», но оставит «abc.xyz.jpg» в покое.

REN ????????????????????.jpg ????????????????????-thumb.*

Вы можете переименовать файл двумя точками, например, «abc.xyz.jpg», используя следующую строку:

REN ????????????.????????????.jpg ????????????.????????????-thumb.*

Шаблон можно расширить на любое количество точек в имени.

См. Как команда Windows RENAME интерпретирует подстановочные знаки? для получения дополнительной информации.

12 голосов
/ 08 января 2012

Что-то вроде:

for %%f in (*.jpg) do rename "%%f" "%%~nf-thumb.jpg"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...