Por que mover pastas grandes leva muito tempo?


10

Eu tenho uma pasta grande com arquivos> 100k. Mudei-o para a minha pasta de arquivos e demorou uma eternidade para me mover. Por que é que? Eu sei que no XP demora menos de um segundo, mas não no Windows 7. Tenho certeza de que é uma permissão, existe uma maneira de desabilitá-lo e torná-lo mais rápido?

Estou movendo a pasta para outra na mesma unidade / partição. No XP. Tanto quanto sei, apenas move o arquivo da pasta de um lugar para outro. No Windows 7, parece que ele toca algo em todos os arquivos quando eu o movo.

Oque posso fazer para consertar isso? Soltar propriedades de permissão?


3
Não sei por que você teria tanta certeza de que é uma coisa de permissão. Veja outras variáveis ​​que podem ter sido alteradas (atraso na rede, cópia em uma unidade USB etc.) Que outras informações devemos saber sobre o que você está movendo, de onde você está movendo os arquivos e para onde você está movendo o arquivos?
Chris Dwyer

Aguarde o SP1 ???
Lawrence Dol

Também estou pensando nisso, algumas coisas que pretendi tentar, mas ainda não tive tempo: É específico do sistema de arquivos; ou seja, importa se o seu FAT32 ou NTFS? Desative a indexação para o sistema de arquivos (caso o tempo gasto na atualização dos índices de pesquisa).
user12889

@ user12889: Não sei ao certo o que fiz, mas o ATM nas minhas unidades NTFS se move instantaneamente. Não sei se é porque desabilitei a "Compactação diferencial remota" ( maximumpcguides.com/windows-vista/… ) ou se foi algo corrigido em uma das atualizações do Windows.

Respostas:


5

Isso acontece quando eu uso o Windows Explorer para mover (ou recortar e colar).

A única maneira de contornar isso que eu sei é usar algo diferente do Explorer para mover o diretório. Por exemplo, no cmd.exe do Windows, o uso move a bmove até grandes diretórios instantaneamente. O mesmo vale para o mvcomando de Cygwin .


11
Como isso responde à pergunta no título?
soandos 23/09/12

11
A resposta implícita na minha postagem é "Porque o Explorer foi usado". A pergunta original "Por que mover pastas grandes leva muito tempo?" falta informações sobre como a mudança foi feita. Por isso, se eu respondesse "isso acontece quando você usa o Explorer". Eu posso estar errado. Sei que o Explorer é a causa do meu sistema e compartilho isso com você. Por mais surpreendente que possa parecer, antes de postar, ninguém nomeou explicitamente o Explorer como o culpado. Sim, gostaria de saber por que o Explorer é tão lento. Enquanto não houver uma correção conhecida, dou uma solução alternativa usando meios integrados, respondendo "O que posso fazer para corrigir isso?".
Rainer Blome

3

Quando uma pasta parece se mover instantaneamente, é porque o sistema operacional conseguiu atualizar a tabela de alocação de arquivos * sem mover os dados reais do arquivo.

É mais lento fazer isso com arquivos pequenos, pois para cada um uma alteração deve ser feita na tabela. Se os arquivos forem realmente pequenos, isso poderá levar um tempo semelhante para mover os dados.

Não sei exatamente em que circunstâncias os dados do arquivo devem ser movidos quando estão na mesma partição que seu destino, mas eu suponho que não há nada que você possa fazer para evitá-los. Como outros comentaristas e respostas sugeriram, copiar para uma unidade diferente (disco diferente, partição diferente, para um pendrive, para uma unidade pela rede etc.) obviamente significaria que você tinha que copiar os dados completos, para que as coisas funcionassem. seja mais lento. Você será afetado muito mais pela largura de banda para a qual está copiando.

(* Pense nos dados do arquivo como livros em uma biblioteca e na tabela de alocação de arquivos como um conjunto de fichas que mostram em que seção os livros estão)


Eu olhei para o formato FAT32 antes. Acho que, em vez de mover a pasta, suas permissões de atualização em todos os arquivos porque a nova pasta pai pode ter novas permissões. Eu não preciso de permissões aqui, portanto, se eu pudesse desligá-lo e me mover rapidamente, eu o faria.

1

Parece que sempre que o Windows Explorer tenta mover (ou copiar) uma pasta, é necessária uma etapa extra de validação. Se isso demorar alguns segundos, você poderá ver a mensagem de status "Descobrindo itens". Parece estar fazendo um inventário de todos os arquivos na pasta; da mesma maneira que realmente abre essa pasta no Explorer.

Essa etapa pode ser necessária em alguns casos, mas não deve ser necessária para a maioria das operações "mover esta pasta daqui para lá". Para especular ainda mais - parece plausível que fazer essa validação tenha solucionado alguns erros de uma maneira melhor em alguns casos, e a Microsoft nunca achou importante melhorar o desempenho dos casos ímpares de ter "mais de centenas" de arquivos em uma pasta. Esses problemas podem incluir: ao mesclar pastas; se a pasta de destino estiver em mídia / partição diferente; talvez para verificar se os novos caminhos de arquivo serão muito longos para o NTFS. Na IMO, qualquer um deles pode ter sido verificado com antecedência, para evitar essa operação de indexação extra, mas eu sei que o desempenho de casos extremos é frequentemente ignorado.


0

Não uso o XP há anos, mas lembre-se de que mover grandes quantidades de arquivos pequenos é muito mais lento que mover pequenas quantidades de arquivos grandes, pelo menos no Windows 7.

Além disso, mover arquivos entre a mesma unidade é muito mais rápido do que mover arquivos entre unidades diferentes, às vezes instantâneas.


Eu edito a pergunta.

0

Isso não necessariamente responde por que isso acontece ..

http://www.codesector.com/teracopy.php

Eu tenho usado o TeraCopy ultimamente e notei que ele parece copiar um pouco mais rápido.


um pouco mais rápido ou se move instantaneamente como no XP?

Um pouco mais rápido (se houver). Ele ainda não faz isso nem em um instante.
user12889


0

Tente usar o comando do prompt de comando

copy source destination.

Eu usei isso e 20k arquivos copiados imediatamente.


Apenas um Superusuário do FYI é para respostas e nada mais. Eu editei sua resposta para refletir isso. Boa resposta, no entanto!
7774 Jon
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.