Copie arquivos específicos de várias pastas para outro destino

0

Estou tentando copiar cerca de 1.500 arquivos MP3 de sua origem em várias pastas da minha biblioteca de músicas para uma unidade de salto organizada em pastas nomeadas pelo artista. Aqui está um exemplo da unidade de salto:

I:\Coldplay\A Message.mp3  
I:\Coldplay\Low.mp3  
I:\Coldplay\Speed of Sound.mp3  
I:\Coldplay\Square One.mp3  
I:\Coldplay\The Hardest Part.mp3  
I:\Coldplay\White Shadows.mp3  
I:\Coldplay\A Sky Full of Stars.mp3  
I:\Coldplay\Always in My Head.mp3  
I:\Coldplay\Ink.mp3  
I:\Collective Soul\All That I Know.mp3  
I:\Collective Soul\Bearing Witness.mp3  
I:\Collective Soul\Good Morning After All.mp3  
I:\Collective Soul\Hollywood.mp3  
I:\Collective Soul\I Don't Need Anymore Friends.mp3  
I:\Collective Soul\Never Here Alone.mp3  
I:\Collective Soul\New Vibration.mp3  
I:\Collective Soul\Persuasion of You.mp3  
I:\Collective Soul\What I Can Give You.mp3  
I:\Collective Soul\Dig.mp3  
I:\Collective Soul\Fuzzy.mp3  
I:\Collective Soul\Hymn For My Father.mp3  
I:\Collective Soul\Lighten Up.mp3  
I:\Collective Soul\Love.mp3  
I:\Collective Soul\She Does.mp3

A origem é organizada pelo nome do artista / título do álbum, de modo que as músicas do Coldplay e do Collective Soul têm várias pastas de origem diferentes ramificadas nas pastas Coldplay e Collective Soul. E nem todas as músicas em cada pasta de origem são copiadas na unidade de salto, apenas as selecionadas. Devido a isso, não consigo descobrir como dizer ao SO onde encontrar os arquivos de origem para copiar, além de manualmente um por um (tedioso!). Eu também tenho um arquivo de texto feito fazendo "DIR / B / S > USB_List.txt". Alguém pode pensar em uma maneira de copiar estes usando um lote ou comando. Ou isso é possível? Obrigado.

    
por BillDOe 11.10.2014 / 20:23

3 respostas

0

Em vez de armazenar no formato artista \ álbum \ título como atual, você deseja o formato artista \ title.

Tente isso no prompt de comando no diretório desejado:

1) mova todos os arquivos em subpastas na pasta atual 2) apague os nomes das subpastas

for /f "tokens=*" %f in ('dir /a:-D /s /b') do move "%f" .

for /f "tokens=*" %f in ('dir /a:D /s /b') do rd "%f"

Por exemplo, digamos que você tenha um MP3 aqui: c: \ Jogo Frio \ Histórias de Fantasma \ Amor Verdadeiro.mp3

  • Ir para Prompt de Comando
  • Navegue até c: \ Cold Play (cd "\ Cold Play"
  • Executando os seguintes comandos:

for /f "tokens=*" %f in ('dir /a:-D /s /b') do move "%f" .

for /f "tokens=*" %f in ('dir /a:D /s /b') do rd "%f"

Isso moverá o True Love.mp3 para c: \ Cold Play e apagará o diretório chamado Ghost Stories.

Espero que isso ajude.

    
por 11.10.2014 / 22:01
0

a batch or command line might look at the files on I: and copy them from "D:\Users\username\music\music..." to G:

Faça uma lista dos arquivos que você deseja copiar com DIR /B /S , abra-o em um bom editor de texto, substitua todos os "I: ..." por "D: ...", abra outra cópia da lista , substitua "I: ..." por "G: ...", copie e cole todo o conteúdo para o primeiro arquivo como outra coluna (usando o modo de edição de coluna) e insira echo f | xcopy no início de cada linha (em modo de edição de coluna também). Renomeie para .cmd / .bat, execute.

    
por 12.10.2014 / 01:42
0

Tente executar este comando

ROBOCOPY %%source%% %%destination%% /MIR /ZB /R:3 /W:1

Obviamente, substitua o espaço reservado.

    
por 11.10.2014 / 22:00