Copia di un sottoinsieme di una cartella di grandi dimensioni, preferibilmente usando Robocopy


0

Voglio copiare alcuni file da una grande condivisione su un server a latenza elevata. Posso farlo con più robocopy comandi:

robocopy /MT \\slow\share\path1 c:\my\path1 *.exe
robocopy /MT \\slow\share\path2 c:\my\path2 *.pdb
etc.

Tuttavia, mi piacerebbe farlo con un singolo robocopy, da allora posso usare /MT per accelerare la copia. Tuttavia, non sono riuscito a trovare un modo per farlo con robocopy:

robocopy /MT \\slow\share c:\my path1\*.exe path2\*.pdb

Questo risulta in ERROR : Invalid Parameter #4 : "path1\*.exe"

robocopy /MT \\slow\share *.exe *.pdb

Questo copia tutto path2\*.exe che non desidero, e attraversa anche tutto \ slow \ share, che è lento.

C'è un altro modo, idealmente usando un comando integrato?


@ Jonatin Hai guardato RichCopy? Forse puoi modificarlo per fare un po 'di questo. Ha interessanti inclusioni ed esclusioni condizionali in modalità avanzata.
Alex S

RichCopy sembra interessante - puoi effettivamente specificare più fonti di origine. Tuttavia, poiché si tratta di un programma GUI, non posso utilizzarlo in uno script, perché lo script continuerà prima che RichCopy sia finito.
Jonathan

Che tipo di sceneggiatura stai usando? Batch o PowerShell?
Alex S

Penso che questo potrebbe essere un duro, come anche se RoboCopy ha il supporto multi-thread che è gestito internamente. Non consente "parametri" per la copia "multi-sorgente". Anche gli ambienti di scripting sono in genere sequenziali, a meno che non consentano / abilitano specificamente i file paralleli. Quindi, a quanto sembra, hai bisogno di entrambi o almeno uno di loro.
Alex S

Non ho ancora deciso un env. Credo che userò PowerShell e il suo invoke-command -AsJob capacità asincrone. Speravo che Robocopy / qualunque cosa potesse salvarmi.
Jonathan

Risposte:


0

Ho avuto lo stesso problema, voglio rispecchiare i file da una posizione all'altra. Quando stavo cercando un software per la copia, ho trovato applicazioni davvero bizzarre che li avrebbero integrati nella shell di Windows. Ma poi ho iniziato a cercare il software di sincronizzazione e ho ottenuto una gamma molto migliore di applicazioni.

Ho provato due prodotti

  1. Vice versa
  2. FreeFileSync

Entrambe le applicazioni sono GUI e hanno la possibilità di creare script di file batch per loro. Entrambi consentono più sorgenti / target. Hanno la capacità di Mirror, Dual Sync, Augment Target e versioning.

ViceVersa è meraviglioso, ma viene fornito con un cartellino del prezzo. FreeFileSync è buono come ViceVersa, ma non ho avuto la possibilità di testarlo completamente. Leggere le cose che può fare dalla sua pagina web sembra proprio che superi le capacità di ViceVersa.


Buone informazioni Alla fine ho avuto bisogno di accedere ad alcune API che mi dicono quando e dove sono i file, così ho finito per scrivere l'intera cosa in C #, dove ho tutto il controllo del parallelismo che posso desiderare.
Jonathan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.