Como copiar um arquivo específico de subpastas para uma outra pasta

1

Eu tenho uma pasta chamada Mods e nessa pasta eu tenho:

  • root\sound\weapons\ak47\ak47_dist.wav
  • root\sound\weapons\m1\m1_dist.wav
  • root\sound\weapons\m4a1\m4a1_dist.wav

etc ...

Em todas as pastas ak47 , m1 , m4a1 , etc., tenho 5% de arquivos de som.WAV.

Eu quero copiar apenas os arquivos de som com nome de *dist.wav de cada pasta nomeada "weapon" e colá-los em uma única pasta com um arquivo de lote.

O arquivo em lote será executado a partir da pasta "Mods" que está fora de root\sound\weapons , o novo nome da pasta é "sons distantes" dentro da pasta Mods .

Como posso fazer isso?

    
por GreatAlex78th 12.01.2016 / 18:28

1 resposta

1

How to copy a specific file from sub folders to one other folder

In every ak47, m1, m4a1 etc. folders, I have 5 sounds.

I wan't to copy only the *dist.wav sounds from every weapon folder and paste these sounds to a single folder with batch.

Abaixo está um exemplo de como você pode fazer isso a partir de um script em lote ou de um copiar e colar. Por favor, leia tudo e teste para confirmar todos os trabalhos como esperado também.

Copiar e colar do prompt de comando

SET RootDir=C:\Sound\Weapons
SET CopyDir=C:\Path\Mods\Distant Sounds
IF NOT EXIST "%CopyDir%" MD "%CopyDir%"
SET CopyFname=*dist.wav
FOR /D %A IN ("%RootDir%\*") DO FOR %B IN ("%~A\%CopyFname%") DO ECHO F | XCOPY /Y /F "%~B" "%CopyDir%\"
GOTO EOF 

Script em lote

@ECHO ON
SET RootDir=C:\Sound\Weapons
SET CopyDir=C:\Path\Mods\Distant Sounds
IF NOT EXIST "%CopyDir%" MD "%CopyDir%"
SET CopyFname=*dist.wav
FOR /D %%A IN ("%RootDir%\*") DO FOR %%B IN ("%%~A\%CopyFname%") DO ECHO F | XCOPY /Y /F "%%~B" "%CopyDir%\"
GOTO EOF 

Notas: Defina o diretório raiz, o diretório de cópia e o nome do arquivo para copiar na parte SET <variablename>= da lógica acima.

Leitura adicional e recursos

por 12.01.2016 / 23:13

Tags