Ir ao conteúdo

Bat Renomear arquivos com batch


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

Olá! Estou procurando alguma forma de renomear arquivos usando batch mas não encontro algo tão especifico e não entendo muito. Se alguém puder ajudar:

Tenho 1 arquivo de texto (Listadenomes.txt) e dentro deste arquivo tenho duas colunas(Na verdade é um nome um espaço e outro nome). Na primeira coluna tenho um nome de Arquivo.Wxx (onde xx é um numero de 01 a 99) e na segunda coluna tenho um nome.
Na mesma pasta tenho vários arquivos com os nomes da primeira coluna (ex: Arquivo01.W01), eu quero renomear todos os arquivos para o nome da segunda coluna (ex: 13122021) e acrescentar .txt no final deste arquivo renomeado. vou anexar um exemplo com estes arquivos. (precisei adicionar ".txt" no Arquivo01.W01 para poder anexar).

Arquivo.W01.txt Listadenomes.txt

  • Solução
Postado

Veja se é isso:

 

EQqZWcn.gif

 

 

No caso na parte set Lista do batch você deverá informar onde está o arquivo com a lista ex:

 

set Lista=%userprofile%\desktop\ListaDeNomes.txt

 

Ai faça uma cópia dos arquivos para o caso de algo sair errado.

 

Em seguida arraste a pasta onde estão os arquivos para o batch.

 

@echo off

:: Arraste a pasta onde estão os arquivos para o batch
:: Informe aqui o arquivo com a lista de nomes:
set Lista=%userprofile%\desktop\ListaDeNomes.txt

if exist "%~1" (if not exist "%~1\" exit) else (exit)

set "Pasta=%~1"
pushd "%Pasta%"

for /f "tokens=1,2 usebackq" %%a in ("%Lista%") do if /i exist "%%a" ren "%%a" "%%b.txt"
exit

 

  • Obrigado 1
Postado

@ricardo_br Nossa! Funciona perfeitamente, muito obrigado!

No caso eu tenho tanto o arquivo "ListaDeNomes.txt" como os arquivos ".Wxx" salvos na mesma pasta, e sempre estou acrescentando mais arquivos ".Wxx" e acrescentando ele na "ListaDeNomes.txt" - Isto é feito quase que instantaneamente por outro software.
Tem alguma forma de programar esse batch pra executar automaticamente(coisa de 5-10min) assim que for salvo um arquivo na pasta? (ou deixar o batch em algum local e executar ele sem jogar a pasta no batch?)

E já aproveitando, gostaria de aprender um pouco sobre como funcionam os comandos(onde posso estudar e entende-los?(Livros, sites, etc) Vou precisar fazer outras alterações no conteúdo interno deles (reorganizar)

Postado

Se quer aprender script no Windows eu recomendo Powershell pois é a linguagem de script mais moderna da microsoft. O Powershell é o novo batch. Basicamente batch são comandos do prompt de comando que são executados em sequencia. No youtube tem cursos tanto de powershell como de batch.

 

Para executar o batch de forma automática você poderia usar o Agendador de Tarefas e configurar para rodar de hora em hora usando algo assim:

 

"%userprofile%\desktop\batch.bat" "c:\LocalOndeEstaoOsArquivos"

 

Ou então se for possível usar o software que salva os arquivos, para que imediatamente após salvar os arquivos e atualizar a ListaDeNomes.txt rodar o bat da mesma maneira:

 

"%userprofile%\desktop\batch.bat" "c:\LocalOndeEstaoOsArquivos"

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...