@kristian_bells

Как написать bat-файл, который переименовывает только часть имени файла?

Всем привет! Прошу помочь с одной проблемой, которую не могу решить в силу малых навыков работы с bat-файлами.
Есть несколько файлов:
setup.exe
setup-1.bin
setup-2.bin

Нужно написать скрипт, который перенесет эти файлы в другую папку и даст им такие имена:
setup_ver2.exe
setup_ver2-1.bin
setup_ver2-2.bin

То есть мы после "setup" дописываем "_ver2", расширение файлов остается то же.

Есть такой скрипт:
@echo off
for %%a in (c:\temp\setup*.*) do (
move "%%~a" "<путь к нужной папке>\%%~na_ver2%%~xa"
)
но он формирует вот такой набор файлов: setup_ver2.exe, setup-1_ver2.bin, setup-2_ver2.bin, что мне не подходит.

Заранее спасибо за помощь!
  • Вопрос задан
  • 1119 просмотров
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
@echo off
SetLocal EnableDelayedExpansion

for %%a in (c:\temp\setup*.*) do (
  set "namesuffix=%%~na"
  set "namesuffix=!namesuffix:setup=!"
  move "%%~a" "<путь к нужной папке>\setup_ver2!namesuffix!%%~xa"
)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы