Não tenho certeza se você deseja um arquivo em lotes para:
- Renomear 1 arquivo específico
- Renomeie todos os arquivos em um diretório
- Renomeie arquivos em um diretório que corresponda a um padrão específico
- Algo mais?
Aqui está um exemplo de um arquivo em lote para fazer como em # 3 (Renomear arquivos em um diretório que corresponda a um padrão específico).
Execute o arquivo em lote para certificar-se de que ele lista todos os arquivos que você deseja que sejam renomeados. Inicialmente, os antigos e novos nomes de arquivos serão exibidos para todos os arquivos encontrados, mas nenhum arquivo será renomeado. Você pode ter que modificar o valor de searchpattern para exibir os arquivos desejados. Depois de ter os arquivos corretos listados, prossiga com as instruções abaixo do arquivo em lotes para tornar a renomeação ativa.
@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
Observação: Para impedir que os arquivos errados sejam renomeados ou os arquivos sejam renomeados de maneira incorreta, o arquivo em lote exibirá os nomes antigos e novos de todos os arquivos encontrados, mas nenhum arquivo será renomeado.
Depois de executar o arquivo em lotes e ter certeza de que os arquivos corretos serão renomeados corretamente, edite o arquivo para remover a (s) linha (s) descrita (s) para tornar a renomeação ativa e execute o arquivo em lotes novamente.
Para fazer isso, encontre as duas linhas que são assim:
rem delete the next line (goto :EOF) to make renaming active
goto :EOF
Em seguida, remova a linha que diz "goto: EOF" (ou remova as duas linhas).
Não remova "goto: EOF" de qualquer outro lugar no arquivo de lote (ele pode ser encontrado em alguns lugares, portanto, certifique-se de remover o correto).
Se você precisar de algum desses arquivos de lote explicados para você, ou se não estiver fazendo o que você realmente quer, por favor me avise.