Existe uma maneira de transferir milhares de arquivos pequenos mais rapidamente no Windows 7?

30

Percebi que se eu transferir alguns arquivos grandes entre dois discos rígidos, é muito rápido, em torno de pelo menos 30 MB por segundo, mas se eu transferir milhares de arquivos com menos de 5 KB, é muito lento .. por volta de 1 a 2 MB por segundo.

Existe uma maneira de acelerar o processo de copiar / colar com milhares de arquivos pequenos no Windows 7?

netrox
fonte

Respostas:

19

Você pode dar uma olhada no TeraCopy, um programa projetado para copiar e mover arquivos na velocidade máxima possível, ajustando dinamicamente os buffers para reduzir o tempo de busca. O TeraCopy também pode fazer cópias assíncronas, o que acelera a transferência de arquivos entre dois discos rígidos físicos.

Eu pessoalmente usei esse aplicativo e descobri que ele acelera as transferências de arquivos, o que geralmente leva algum tempo para ser realizado.

Espero que isso ajude alguns.

Chris
fonte
1
@netrox: Teracopy altamente recomendado. +1
studiohack
2
O TeraCopy caiu para mim, então eu não o recomendaria, pois há potencial para perda de dados.
Simon Morgan
3
Eu tive o problema oposto - copiar arquivos minúsculos de 1 milhão causou uma falha no explorador, mas o TeraCopy funcionou bem!
precisa saber é o seguinte
9

ZIP os arquivos e depois transferir o arquivo ZIP maior? Não sei quanto tempo levaria para ZIP (e se o tempo total for mais rápido).

Kevin Yap
fonte
8
Você ainda precisa ler todos os arquivos no lado de origem e gravá-los no lado de destino. Não será mais rápido. Você perderá tempo para compactá-los.
Joey
2
Na verdade, isso funciona para mim na minha situação, pois eu estava realmente querendo fazer backup de arquivos ... Não me importo em descompactar. Fechar milhares de arquivos com certeza funcionou ... um arquivo compactado foi muito mais rápido que a cópia usual. Mas sim, eu tentei descompactar e leva um tempo. Obrigado pela sugestão.
netrox
1
Sem problemas; feliz por ter ajudado. :)
Kevin Yap
2
Isso funciona muito bem. Consegui obter o tempo de transferência de 200mb de arquivos de 30 segundos usando uma cópia simples de até 2 segundos (sem compactação, unidade diferente). A razão pela qual isso funciona é porque há muita sobrecarga associada à criação e ao fechamento de um novo arquivo. Com um arquivo morto, ele possui um único identificador de arquivo (o arquivo morto) ao qual você está anexando dados. Se você estiver mudando para outro disco rígido, crie o arquivo no destino, não o crie e mova-o.
Despertar 13/12
Outro caso de uso em que isso pode ajudar a acelerar bastante as coisas é na transferência de / para unidades flash portáteis ou outras mídias e interfaces mais lentas. Compactar / descompactar milhares de arquivos pequenos em um SSD com conexão SATA III é muito mais rápido do que transferir milhares de arquivos para / de uma unidade flash portátil em USB. A limpeza também é muito mais simples, pois a exclusão de um único arquivo zip na unidade USB leva menos de um segundo contra vários minutos para excluir uma pasta com milhares de arquivos pequenos.
Positlux
6

A solução é arquivar com o WinRAR, mas, quando perguntado como arquivar, escolha store. Isso significa que não haverá compressão. Assim, em aproximadamente um minuto, você terminará com um arquivo grande para copiar, que copiará muito rapidamente.

Tentei copiar 19890 arquivos pequenos (mais ou menos 5K cada) e o Windows me disse que levaria 3 horas, segundo o TeraCopy, 3,2 horas, mas com o meu método levou apenas 1,5 minutos.

Ion Apostol
fonte
0

É possível que parte do que está atrasando você em muitos arquivos pequenos seja se eles não estiverem na mesma área física do disco. Em uma unidade que não seja muito fragmentada, um único arquivo grande será todo lido em um único local, mas se você precisar ler vários arquivos separados, eles poderão estar espalhados pelo disco.

O CEP foi a primeira ideia que me veio à mente, mas, como mencionado acima, você perderia tempo para esse processo. Percebi que, em geral, copiar com o RoboCopy.exe é mais rápido do que através da GUI. Você pode querer brincar com isso e ver como funciona para você.

nhinkle
fonte
1
Você perderá mais tempo devido à alternância frequente entre o conteúdo do arquivo e as entradas da MFT. Onde os arquivos individuais estão localizados no disco é quase irrelevante aqui.
Joey
0

Pode valer a pena tentar uma desfragmentação rápida antes de ZIP qualquer coisa, mas isso só é realmente se você moverá muitos arquivos pequenos com muita frequência. Caso contrário, sugiro apenas compactá-lo (com 7zip ou algo assim - o que geralmente comprimirá melhor do que apenas a compactação padrão do Windows) e copie-o.

E isso também depende dos discos rígidos. É um disco rígido externo USB ou 2 que estão no mesmo sistema? Se for um disco rígido externo antigo, pode estar usando USB1.0 ou é melhor ter um com uma fonte de alimentação.

lavamunky
fonte
0

O ZIP tem um limite de arquivo de 4 GB (ou algo parecido) - eu costumo usar o arquivador RAR (ele não tem esse limite de tamanho de arquivo) e especifico para não compactar nada - dessa forma, o arquivamento em um único arquivo acontece muito rápido, e simplesmente copio esse arquivo grande.

Andrey
fonte
-1

Se for um sistema baseado em unix, você pode usar tar sobre ssh.
-O comando a seguir compacta todos os arquivos e pastas.

tar -cf - / home | ssh [email protected] tar -xvf - -C /

-Transfira e descompacte no segundo computador.
Isso é muito mais rápido do que copiar somente por scp

Leia primeiro a página do manual e tenha cuidado

user466567
fonte
1
A pergunta contém a tag "windows" para que sua resposta não se aplique.
Nasreddine
2
de fato. da próxima vez, leia as tags, não é?
Td512 07/07/2015
Já para não falar, ler a idade da questão
qasdfdsaq