Transferência confiável de arquivos do Windows em conexão de rede lenta

0

Eu queria perguntar se alguém sabia de uma maneira de fazer algo de forma nativa com o Windows ou o PowerShell.

Eu chamaria de "Funil de arquivos".

Eu quero colocar arquivos em uma máquina em uma determinada pasta e fazer com que esses arquivos sejam transferidos automaticamente ao longo do tempo (conexão muito mais lenta) para uma unidade de rede.

Mas eu quero que isso seja feito de forma confiável - o que significa que eu gostaria que a transferência fosse feita de forma transacional para que os arquivos não fossem excluídos até que fossem verificados em outro local.

O uso deve ser tão simples quanto despejar os arquivos na pasta - depois que os arquivos forem transferidos com sucesso, a pasta estará vazia.

    
por Bleak Morn 16.07.2018 / 16:28

1 resposta

1

Claro que você pode fazer isso com Robocopy usando os parâmetros /S e /MOV para garantir que os arquivos no o local de origem é copiado para o local de destino e, em seguida, remove os arquivos da origem assim que a cópia for concluída com êxito.

Script em lote

SET SRC="Z:\path\source"
SET DEST="X:\path\destination"
SET FName=*.*
SET LOG=C:\Path\Log.txt
::   If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/S /MOV /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=robocopy %SRC% %FName% %DEST% %OPT%
%CMD%

Script do PowerShell

$SRC   = "Z:\path\source"
$DEST  = "X:\path\destination"
$FName = "*.*"
$OPT   = "/S /MOV /NP /R:5"
$CMD   = "robocopy $SRC $FName $DEST $OPT"
Invoke-Expression $CMD

Note: To automate you simply create a PowerShell or batch script with this syntax and schedule with Task Scheduler to run once an hour, every X minutes, etc. per your scheduling needs.

Mais recursos

  • Robocopy

           /S :: copy Subdirectories, but not empty ones.
           /MOV :: MOVe files (delete from source after copying).
    
por 16.07.2018 / 17:03