script em lote para copiar arquivos de todas as unidades disponíveis para um dispositivo USB

0

Eu tenho esse script

    for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do (
    copy "%%x\*.spt" "%drive%\mydiagtools"
)
pause

e eu preciso copiar arquivos com a extensão SPT (nossos arquivos proprietários da empresa) para a minha unidade USB de todos os discos disponíveis em um computador específico.

Alguma idéia, por que não está funcionando? Esta é a saída que recebo:

F:\>for /F "skip=1 delims=" %x in
*.spt" "\mydiagtools" )

\*.spt" "\mydiagtools" )
The device is not ready.

\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
        0 file(s) copied.

\*.spt" "\mydiagtools" )
The device is not ready.

\*.spt" "\mydiagtools" )
The device is not ready.

\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
        0 file(s) copied.

\*.spt" "\mydiagtools" )
\*.spt
The system cannot find the path sp
        0 file(s) copied.

\*.spt" "\mydiagtools" )
\*.spt
The filename, directory name, or v
        0 file(s) copied.

F:\>pause
Press any key to continue . . .

Muito obrigado

edit: corrige a saída

    
por yssup 04.08.2018 / 14:01

2 respostas

0

você gostaria de usar o powershell? Por favor, tente o seguinte script.

$copy=Get-PSDrive -PSProvider FileSystem  |  %{ Get-ChildItem $_.Root -Recurse -force  -ErrorAction SilentlyContinue| Where-Object {$_.Extension -eq '.spt'}} Copy-Item -Path $copy.Fullname -Destination  C:\xxxx\

No final do script, modifique-o para ser seu USB e execute como PowerShell.

    
por 06.08.2018 / 11:25
0

O código a seguir deve funcionar:

for /f "skip=1" %%x in ('wmic logicaldisk get caption') do (
    copy "%%x\*.spt" "%drive%\mydiagtools"
)
pause

Apesar de %drive% não ter nenhum valor para mim, o problema parece estar relacionado a delims= . Sem isso, eu poderia listar e copiar com sucesso o conteúdo de uma unidade, enquanto delims= causou um efeito colateral indesejado para não mostrar ou copiar nenhum arquivo.

(testado no Windows 10 Enterprise x64 versão 1803 build 10.0. 17134.376 )

    
por 29.10.2018 / 00:41