Uso do arquivo de lote para transferir arquivos para a unidade flash quando conectado [duplicado]

5

Tenho cerca de 1.000 drives flash nos quais preciso mover um conjunto de arquivos. Estou procurando uma maneira de reduzir o tempo que isso vai levar.

Pensamentos: Anexar tarefa ao evento de conectar a unidade flash. Execute um arquivo bat

xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive

...

Alguma ideia melhor? Eu só vou ligar o flash drive e depois tirá-lo colocando o seguinte em: - /

Eu também gostaria de reduzir o tempo gasto na detecção de dispositivos, mas não tenho idéia se isso é possível. Todas as unidades flash são idênticas.

Obrigado Josh

    
por tyler 19.06.2013 / 16:21

4 respostas

2

Então eu escrevi esse código que parece funcionar bem. Estou aberto para análise, mas não requer pressionamentos de tecla e permite que eu simplesmente conecte a unidade e aguarde a tela para me dizer para removê-lo.

@echo off
cls
:start
set choice=
xcopy /e /y W:\Desktop\transfer\*.* F:
goto wait

:check
timeout /t 1 /nobreak >nul
echo waiting
if exist F: (goto start) else goto check

:wait
timeout /t 1 /nobreak >nul
echo Waiting for removal
if exist F: (goto wait) else goto removed

:removed
echo removed
goto check
    
por 20.06.2013 / 07:30
2

Tente usar um arquivo em lote como este:

@echo off
cls
:start
set choice=
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive
set /p choice="Have you changed the Flash Drive? Press 'y' and enter for Yes: "
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='y' goto start

Não se esqueça de modificar a origem e o destino ...

    
por 19.06.2013 / 16:40
2

Você deve procurar em um duplicador USB, se isso for algo que você pode ter que regular ou nunca novamente para esse assunto.

link

    
por 19.06.2013 / 17:35
1

Se o tamanho dos arquivos que você está copiando for pequeno, talvez você consiga conectar alguns hubs USB e aguardar todas as unidades em paralelo.

Em seguida, crie este script:

xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive2
xcopy /e /y c:\files_to_transfer\*.* .\dir_on_usb_drive3
etc.

Mapeie para uma hotkey usando AutoHotKey :

#c::Run script.bat

Seu fluxo de trabalho seria então: conecte um monte de unidades, espere que elas se registrem. Pressione Win + C, aguarde a cópia. Repita 200 vezes. Boa sorte.

    
por 19.06.2013 / 17:01