Copie de um tipo de arquivo específico para uma nova pasta em um pendrive

1

Tentando criar um arquivo em lotes que copie um tipo de arquivo específico de um CD e coloque-o em uma nova pasta com um prompt para a escolha do nome da pasta de destino. Eu tive dificuldade em explicar como encontrar arquivos em um número de usuários mais antigos como transferir arquivos para um pendrive, então estou esperando por uma resposta com um clique duplo.

Eu tentei algumas variações do xcopy, mas não tive nenhuma saída até onde eu posso dizer.

D drive sendo a unidade de CD e E sendo a unidade usb. Os arquivos que estou procurando no CD estão enterrados em várias pastas.

Não anexado a um arquivo de lote, se houver uma maneira melhor de fazer isso. Obrigado.

@echo off
set /p x= 
xcopy "D:\" "E:\%x%\" .*pes /s

Tentei executá-lo na unidade E para simplificar

xcopy E:\ *.pes /s

Ele copia, mas copia todo o diretório ... e faz todos os arquivos em .pes, em vez de copiar apenas os .pes agora.

    
por SewMachineSewBusy 19.05.2018 / 20:38

1 resposta

0

Deve funcionar assim:

@echo off
set /p x= 
xcopy "D:\*.pes" "E:\%x%\" /s

Mas a estrutura de pastas da fonte também será criada no destino.

Para copiar todos os arquivos em apenas uma pasta, isso pode ser usado:

@echo off
set /p x= 
for /r "D:\" %%i in (*.pes) do xcopy "%%~fi" "E:\%x%\"

Editar para esclarecer / pesquisar:

FOR / R = loop FOR recursivo ( link )

%% i = variável para cada arquivo

(*. pes) = todos os arquivos na pasta / subpastas que terminam com .pes

Isto não parece ser necessário: "%% ~ fi"

%% ~ fi="expande %% i para um nome de caminho totalmente qualificado" (consulte FOR /? no CMD)

Também parece funcionar assim:

for /r "D:\" %%i in (*.pes) do xcopy "%%i" "E:\%x%\"
    
por 20.05.2018 / 01:23