Batch File para copiar o nome de um ficheiro para outro

Kwan

Power Member
Boas,

Gostaria de fazer um batch file para uma tarefa simples como mudar o nome de um ficheiro.

A ideia seria eu pegar num ficheiro .avi e aplicar o nome desse ficheiro a um ficheiro .txt
Alguém me pode ajudar nisto?

Obrigado
 
Creio que deveria fazer algo deste género:

Código:
ren *.srt *.avi

Mas isto iria apenas alterar a extensão do meu ficheiro .srt para .avi
Como é que eu posso definir na batch que quero usar o nome do ficheiro exemplo.avi e aplica-lo ao ficheiro teste.srt de modo ficar no final com:

exemplo.avi
exemplo.srt
 
Em batch sinceramente não te posso ajudar.
Mas se keres um programita que te faça isso rápidamente aqui tens. Acabei de fazer, se quiseres mando o Source, está em C#
http://dl.dropbox.com/u/18887213/Renamer.rar

Arrasta os 2 ficheiros que queres renomear, o avi e o srt para o icon do programa e ele faz o resto.
Caso não arrastes o srt ele cria-o na pasta do avi.
Se tiveres um avi numa pasta e um srt noutra, ele não faz rename do srt mas copia um igual com o nome do avi para a pasta onde o avi se encontra.
É só isso, drag and drop em cima do icon e siga.

Achei por bem colocar aqui o source:
http://dl.dropbox.com/u/18887213/Renamer_src.rar

Nota:
Se conseguires fazer isso em batch avisa.

Melhores cumprimentos,
João Lopes
 
Em batch não faço a minima como se faz e até se será possivel.
Podes é fazer facilmente um pequeno programa em C para resolver o problema.
Se não souberes como se faz posso-te ajudar.
 
Proof obrigado, mas queria mesmo ser eu a fazer para aprender.

Já consigo mudar o nome com o batch file com um pequeno senão. O ficheiro .srt fica com .avi no nome. No exemplo anterior fica assim:
exemplo.avi
exemplo.avi.srt

O código é este:

Código:
@echo off
dir *.mp3 /b "C:\Batch files" >>filelist.txt


for /f "tokens=1* delims=|" %%a in (filelist.txt) do (
       
      ren *.srt "%%a".srt
)


del filelist.txt

Alguém sabe como posso cortar o .avi do ficheiro .srt

Esfomeado, como farias em C?
Sei um pouco da linguagem mas não tou a ver como manipulavas os ficheiros. Já agr por curiosidade se me conseguisses por aí ficava mto agradecido :)
 
Apenas um ficheiro. No código da Batch sei que ele altera os nomes de todos os ficheiros .srt (fiz isso pq o nome do ficheiro .srt não há-de ser sempre o mesmo e não sei mto bem passar isso como argumento de uma função numa batch) mas posso contornar isso pondo na pasta apenas os ficheiros .avi e .srt que desejo.
 
Solução final :)

Código:
@echo off

dir *.mp3 /b "C:\Batch files" >>filelist.txt

for /f "tokens=1* delims=." %%a in (filelist.txt) do (
ren *.srt "%%a".srt
)


del filelist.txt
 
Última edição:
Back
Topo