Fórum Renomear aquivo em massa #445521

14/06/2013

0

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]
Fábio Cruz

Fábio Cruz

Responder

Posts

17/06/2013

Fábio Cruz

Ninguém?
Responder

Gostei + 0

17/06/2013

Charles Segundo

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.
Responder

Gostei + 0

17/06/2013

Fábio Cruz

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.

Ler Mais...




Realmente seria mais fácil fazer manualmente, mas vamos supor que eu tenha mais de 20 temporadas numa mesma pasta, como funcionaria?
Responder

Gostei + 0

17/06/2013

Charles Segundo

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.

Ler Mais...




Realmente seria mais fácil fazer manualmente, mas vamos supor que eu tenha mais de 20 temporadas numa mesma pasta, como funcionaria?

Ler Mais...



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?!

Responder

Gostei + 0

17/06/2013

Diego Garcia

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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.
Responder

Gostei + 0

18/06/2013

Fábio Cruz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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.

Ler Mais...



Interessante, mas ele não está efetivando na pasta as alterações
Responder

Gostei + 0

18/06/2013

Diego Garcia

você alterou essa linha:

1
sDir := '';//o diretório dos arquivos aqui


post aqui como ficou o seu código final.
Responder

Gostei + 0

18/06/2013

Fábio Cruz

Alterei sim
Responder

Gostei + 0

18/06/2013

Diego Garcia

amigo, post aqui como ficou o seu código final.
Responder

Gostei + 0

18/06/2013

Fábio Cruz

amigo, post aqui como ficou o seu código final.


Já descobri o que era


1
RenameFile(sDir + '/' + SearchRec.Name, sDir + '/' + sNome);


Faltou informar a pasta origem e destino, no caso a mesma.
Responder

Gostei + 0

26/09/2013

José

Tendo entendido que a duvida foi sanada, estou finalizando este tópico.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar