Renomear aquivo em massa
Boa tarde, preciso renomear vários arquivos (nomes diferentes) para um nome de minha escolha, por exemplo
tenho um diretório com os seguintes arquivos
[vox]2.Broke.Girls.S01E01
[vox]2.Broke.Girls.S01E02
[vox]2.Broke.Girls.S01E03
[vox]2.Broke.Girls.S01E04
[vox]2.Broke.Girls.S01E05
[vox]2.Broke.Girls.S01E06
quero mudar para
2 Broke Girls S01E01
2 Broke Girls S01E02
2 Broke Girls S01E03
2 Broke Girls S01E04
2 Broke Girls S01E05
2 Broke Girls S01E06
ou seja quero trocar [b][vox]2.Broke.Girls[/b] para [b]2 Broke Girls[/b]
tenho um diretório com os seguintes arquivos
[vox]2.Broke.Girls.S01E01
[vox]2.Broke.Girls.S01E02
[vox]2.Broke.Girls.S01E03
[vox]2.Broke.Girls.S01E04
[vox]2.Broke.Girls.S01E05
[vox]2.Broke.Girls.S01E06
quero mudar para
2 Broke Girls S01E01
2 Broke Girls S01E02
2 Broke Girls S01E03
2 Broke Girls S01E04
2 Broke Girls S01E05
2 Broke Girls S01E06
ou seja quero trocar [b][vox]2.Broke.Girls[/b] para [b]2 Broke Girls[/b]

Fábio Cruz
Curtidas 0
Respostas

Fábio Cruz
14/06/2013
Ninguém?
GOSTEI 0
Charles Segundo
14/06/2013
O que você pode fazer é o seguinte.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
GOSTEI 0

Fábio Cruz
14/06/2013
O que você pode fazer é o seguinte.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
Realmente seria mais fácil fazer manualmente, mas vamos supor que eu tenha mais de 20 temporadas numa mesma pasta, como funcionaria?
GOSTEI 0
Charles Segundo
14/06/2013
O que você pode fazer é o seguinte.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
1 - Usar uma função pra pegar todos os arquivos do Diretório.
2 - Um While pra renomear todo mundo, alterando para o que você quer
> Se quiser usar variáveis, pra poder alterar os numeros na renomeação, exemplo 2 Broke Girls S[X]E[Y] ( pq ai ele renomeia 01,02,03,04 e etc...
3 - É bom tratar as strings que vai ler, para saber qual o episódio que vc ta renomeando ( exemplo. procure um numero 3, pra saber que é o episodio 3, e etc...)
Tudo depende de como você quer fazer... mas eu ainda acho mais simples renomear na mao... do que fazer um programa pra isso..
:)
Atenciosamente.
Realmente seria mais fácil fazer manualmente, mas vamos supor que eu tenha mais de 20 temporadas numa mesma pasta, como funcionaria?
Caso esteja todos os arquivos juntos. você deve procurar um padrão no nome, e verificar por padrão. exemplo.
G.O.T-S03E01.avi
G.O.T-S03E02.avi
G.O.T-S03E03.avi
no caso oq vc vai procurar é, a substring S03, ai vc saberá que é a temporada 3. vc pode também fazer com que a quantidade de temporadas seja variável, ou seja, vc insere quantas temporadas quer. e manda um while de 1 até QuantidadeTemporadas -1 , entendeu?!
GOSTEI 0

Diego Garcia
14/06/2013
procedure TfrmPrincipal.RenomearArquivos; var SearchRec : TSearchRec; i : integer; sDir : string; sNome : string; begin sDir := '';//o diretório dos arquivos aqui i := FindFirst(sDir + '\[vox]*',0,SearchRec); while i = 0 do begin sNome := StringReplace(SearchRec.Name,'[vox]','',[]); sNome := StringReplace(sNome,'.',EmptyStr,[rfReplaceAll]); RenameFile(SearchRec.Name,sNome); i := FindNext(searchRec); end; end;
Fiz de cabeça, sendo assim não testei e nem sei se compila =P
Da uma testada, qualquer coisa da um toque...
Essa função basicamente procura todos os arquivos no diretório especificado, que comecem com '[vox]', depois sai renomeando eles tirando o [vox] e os pontos.
GOSTEI 0

Fábio Cruz
14/06/2013
procedure TfrmPrincipal.RenomearArquivos; var SearchRec : TSearchRec; i : integer; sDir : string; sNome : string; begin sDir := '';//o diretório dos arquivos aqui i := FindFirst(sDir + '\[vox]*',0,SearchRec); while i = 0 do begin sNome := StringReplace(SearchRec.Name,'[vox]','',[]); sNome := StringReplace(sNome,'.',EmptyStr,[rfReplaceAll]); RenameFile(SearchRec.Name,sNome); i := FindNext(searchRec); end; end;
Fiz de cabeça, sendo assim não testei e nem sei se compila =P
Da uma testada, qualquer coisa da um toque...
Essa função basicamente procura todos os arquivos no diretório especificado, que comecem com '[vox]', depois sai renomeando eles tirando o [vox] e os pontos.
Interessante, mas ele não está efetivando na pasta as alterações
GOSTEI 0

Diego Garcia
14/06/2013
você alterou essa linha:
post aqui como ficou o seu código final.
sDir := '';//o diretório dos arquivos aqui
post aqui como ficou o seu código final.
GOSTEI 0

Fábio Cruz
14/06/2013
Alterei sim
GOSTEI 0

Diego Garcia
14/06/2013
amigo, post aqui como ficou o seu código final.
GOSTEI 0

Fábio Cruz
14/06/2013
amigo, post aqui como ficou o seu código final.
Já descobri o que era
RenameFile(sDir + '/' + SearchRec.Name, sDir + '/' + sNome);
Faltou informar a pasta origem e destino, no caso a mesma.
GOSTEI 0

José
14/06/2013
Tendo entendido que a duvida foi sanada, estou finalizando este tópico.
GOSTEI 0