C'è un modo per trasferire migliaia di piccoli file più velocemente su Windows 7?


30

Ho notato che se trasferisco alcuni file di grandi dimensioni tra due dischi rigidi, è abbastanza veloce, almeno circa 30 MB al secondo, ma se trasferisco migliaia di file meno di 5 KB, è dannatamente troppo lento .. circa 1 a 2 MB al secondo.

C'è un modo per accelerare il processo di copia / incolla con migliaia di piccoli file su Windows 7?

Risposte:


19

Potresti dare un'occhiata a TeraCopy, un programma progettato per copiare e spostare i file alla massima velocità possibile regolando dinamicamente i buffer per ridurre i tempi di ricerca. TeraCopy può anche eseguire copie asincrone che accelera il trasferimento dei file tra due dischi rigidi fisici.

Ho usato personalmente questa applicazione e ho scoperto che accelera i trasferimenti di file che di solito richiederebbero un certo periodo di tempo.

Spero che questo aiuti alcuni.


1
@netrox: Teracopy altamente raccomandato. +1
studiohack

2
TeraCopy si è arrestato in modo anomalo per me, quindi non lo consiglierei in quanto potrebbe esserci una perdita di dati.
Simon Morgan,

3
Ho avuto il problema opposto: copiare 1m di piccoli file ha causato l'arresto anomalo di Explorer, ma TeraCopy ha funzionato bene!
RobinL,

9

ZIP i file e quindi trasferire il file ZIP più grande? Non so quanto tempo ci vorrebbe per ZIP (e se il tempo totale è più veloce).


8
Devi ancora leggere tutti i file sul lato sorgente e scriverli tutti sul lato target. Non sarà più veloce. Perderai tempo per comprimerli.
Joey,

2
In realtà, questo funziona per me nella mia situazione perché volevo davvero fare il backup dei file ... Non mi interessa decomprimere. La compressione di migliaia di file ha sicuramente funzionato ... un file zippato è stato molto più veloce della normale copia. Ma sì, ho provato a decomprimere e ci vuole un po 'di tempo. Grazie per il suggerimento
netrox,

1
Nessun problema; felice di averti aiutato. :)
Kevin Yap il

2
Funziona molto bene. Sono stato in grado di ottenere il tempo di trasferimento di 200 MB di file da 30 secondi usando una copia semplice fino a 2 secondi (nessuna compressione, unità diversa). Il motivo per cui funziona è perché ci sono molti overhead associati alla creazione e chiusura di un nuovo file. Con un archivio, ha un unico handle di file (l'archivio) a cui stai aggiungendo i dati. Se ti stai spostando su un altro disco rigido, crea l'archivio sulla destinazione, non crearlo, quindi sposta.
Despertar,

Un altro caso d'uso in cui ciò può aiutare a velocizzare molto le cose è quando si trasferiscono da / verso unità flash portatili o altri supporti e interfacce più lenti. La compressione / decompressione di migliaia di piccoli file su un SSD con una connessione SATA III è molto più veloce rispetto al trasferimento di migliaia di file su / da un'unità flash portatile su USB. Anche la pulizia è molto più semplice, poiché l'eliminazione di un singolo file zip sull'unità USB richiede meno di un secondo rispetto a diversi minuti per eliminare una cartella contenente migliaia di piccoli file.
positlux,

6

La soluzione è archiviare con WinRAR ma, quando viene chiesto come archiviare, scegliere store. Ciò significa che non ci sarà compressione. Quindi in circa un minuto finirai con un file di grandi dimensioni da copiare, che verrà copiato molto velocemente.

Ho provato a copiare 19890 piccoli file (circa 5K ciascuno) e Windows mi ha detto che ci sarebbero volute 3 ore, TeraCopy ha detto 3,2 ore, ma con il mio metodo ci sono voluti solo 1,5 minuti.


0

È possibile che parte di ciò che ti sta rallentando per molti piccoli file sia se non si trovano nella stessa area fisica del disco. Su un'unità che non è molto frammentata, un singolo file di grandi dimensioni verrà letto per lo più da un'unica posizione, ma se devi leggere un mucchio di file separati, potrebbero essere sparsi sul disco.

ZIPing è stata la prima idea che mi è venuta in mente anche per me, ma come sottolineato sopra, perderesti comunque tempo in questo processo. Ho notato che in generale, copiare con RoboCopy.exe è più veloce che farlo tramite la GUI. Potresti voler giocare con quello e vedere come funziona per te.


1
Perderai la maggior parte del tempo a causa del frequente passaggio tra il contenuto del file e le voci MFT. Dove i singoli file si trovano sul disco è quasi irrilevante qui.
Joey,

0

Potrebbe valere la pena provare una deframmentazione rapida prima di comprimere qualsiasi cosa, ma questo è davvero solo se si sposteranno molti file piccoli, molto spesso. In caso contrario, ti suggerisco di comprimerlo (con 7zip o qualcosa del genere - che spesso comprimerà meglio della semplice compressione standard di Windows) e quindi copiarlo.

E dipende anche dai dischi rigidi. Si tratta di un disco rigido esterno USB o 2 che si trovano nello stesso sistema? Se si tratta di un vecchio disco rigido esterno, potrebbe essere in uso USB1.0 oppure è meglio averne uno con un alimentatore.


0

ZIP ha un limite di file di 4 GB (o qualcosa del genere) - Di solito uso l'archiviatore RAR (non ha quel limite di dimensioni del file) e specifica di non comprimerlo affatto - in questo modo l'archiviazione in un singolo file avviene molto velocemente, e poi copio semplicemente quel grosso file.


-1

Se si tratta di un sistema basato su unix, puoi usare tar over ssh.
-Il seguente comando comprime tutti i file e le cartelle.

tar -cf - / home | ssh root@192.168.1.1 tar -xvf - -C /

-Trasferiscilo e decomprimilo sul secondo computer.
Questo è molto più veloce della copia solo per SCP

Prima leggi la pagina man e ATTENZIONE


1
La domanda contiene il tag "windows" quindi la tua risposta non è applicabile.
Nasreddine,

2
infatti. la prossima volta, leggi i tag, eh?
td512

Per non parlare, leggi l'età della domanda
qasdfdsaq
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.