Я не уверен, что вы хотите, чтобы командный файл:
- Переименовать 1 конкретный файл
- Переименовать все файлы в каталоге
- Переименование файлов в каталоге, которые соответствуют определенному шаблону
- Что-то другое ?
Вот пример пакетного файла, который нужно сделать как в # 3 (Переименовать файлы в каталоге, которые соответствуют определенному шаблону).
Запустите пакетный файл, чтобы убедиться, что в нем перечислены все файлы, которые вы хотите переименовать. Первоначально старые и новые имена файлов будут отображаться для всех найденных файлов, но никакие файлы не будут переименованы. Возможно, вам придется изменить значение searchpattern для отображения файлов, которые вы хотите. Как только у вас есть правильные файлы в списке, следуйте инструкциям ниже командного файла, чтобы сделать переименование активным.
@echo off
set "searchfor=domainname"
set "replacewith=otherdomainname"
set "searchpattern=*.%searchfor%.*"
for %%f in ("%searchpattern%") do call :work "%%~f"
set "searchfor="
set "replacewith="
set "searchpattern="
set "filematched="
set "filenewname="
goto :EOF
:work
set filematched=%~1
rem You can't do it directly like:
rem set "filenewname=%filematched:%searchfor%=%replacewith%%"
for /F "usebackq delims=" %%g in (`echo set "filenewname=%%filematched:%searchfor%=%replacewith%%%"`) do %%g
echo Renaming "%filematched%" to "%filenewname%"
rem delete the next line (goto :EOF) to make renaming active
goto :EOF
rem this line actually does the file renaming
ren "%filematched%" "%filenewname%"
goto :EOF
Примечание. Чтобы предотвратить переименование неправильных файлов или неправильное переименование файлов, пакетный файл будет отображать старые и новые имена файлов для всех найденных файлов, но файлы не будут переименованы.
После того, как вы запустите пакетный файл и убедитесь, что правильные файлы будут правильно переименованы, вы можете отредактировать файл, чтобы удалить описанные строки, чтобы сделать переименование активным, а затем снова запустить пакетный файл.
Для этого найдите две строки, которые выглядят так:
rem delete the next line (goto :EOF) to make renaming active
goto :EOF
Затем удалите строку с надписью «goto:EOF» (или удалите обе строки).
Не удаляйте «goto:EOF» из любого другого места в командном файле (его можно найти в нескольких местах, поэтому обязательно удалите правильный).
Если вам нужен какой-либо из этих командных файлов, которые вам объяснили, или если он не выполняет то, что вы действительно хотите, пожалуйста, дайте мне знать.