Dlaczego przenoszenie dużych folderów zajmuje dużo czasu?


10

Mam duży folder z ponad 100 000 plików. Przeniosłem go do folderu archiwum i jego przenoszenie trwa wieczność. Dlaczego? Wiem, że na XP zajmuje to mniej niż sekundę, ale nie na Windows 7. Jestem pewien, że to kwestia pozwolenia, czy jest sposób, aby ją wyłączyć i przyspieszyć?

Przenoszę folder do innego na tym samym dysku / partycji. W XP. O ile wiem, po prostu przenosi plik folderu z jednego miejsca do drugiego. W systemie Windows 7 wydaje się, że dotykając czegoś w każdym pliku, gdy go przenoszę.

Co mogę zrobić, aby to naprawić? Usunąć właściwości uprawnień?


3
Nie wiem, dlaczego byłbyś tak pewien, że chodzi o pozwolenie. Spójrz jeszcze raz na inne zmienne, które mogły ulec zmianie (opóźnienie sieci, kopiowanie na dysk USB itp.) Jakie inne informacje powinniśmy wiedzieć o tym, co przenosisz, skąd przenosisz pliki i dokąd przenosisz akta?
Chris Dwyer

Poczekaj na dodatek SP1 ???
Lawrence Dol

Zastanawiam się nad tym, kilka rzeczy, które zamierzałem wypróbować, ale nie miałem jeszcze czasu: Czy jest to specyficzne dla systemu plików; tzn. czy ma znaczenie, czy jest to FAT32 czy NTFS? Wyłącz indeksowanie dla systemu plików (w przypadku gdy zajdzie czas na aktualizację indeksów wyszukiwania).
user12889

@ user12889: Nie jestem pewien, co zrobiłem, ale bankomat na dyskach NTFS przenosi się natychmiast. Nie wiem, czy to dlatego, że wyłączyłem „ Zdalną kompresję różnicową” ( maximumpcguides.com/windows-vista/… ), czy też było to naprawione w jednej z aktualizacji systemu Windows.

Odpowiedzi:


5

Dzieje się tak, gdy używam Eksploratora Windows do przenoszenia (lub wycinania i wklejania).

Jedynym sposobem na obejście tego, o czym wiem, jest przeniesienie katalogu za pomocą innego narzędzia niż Explorer. Na przykład z cmd.exe systemu Windows, move a bnatychmiastowe przenoszenie nawet dużych katalogów. To samo dotyczy mvpolecenia Cygwina .


1
Jak to odpowiada na pytanie w tytule?
soandos

1
Odpowiedź sugerowana w moim poście brzmi „Ponieważ użyto Eksploratora”. Pierwotne pytanie „Dlaczego przenoszenie dużych folderów zajmuje dużo czasu?” brakuje informacji o tym, jak przeprowadzono ruch. Z tego powodu, jeśli odpowiedziałeś „zdarza się, gdy ty używać Explorer”. Mogę nie mieć pojęcia. Wiem, że Explorer jest przyczyną mojego systemu i dzielę się tym z tobą. Zaskakujące, jak może się wydawać, zanim opublikowałem, nikt nie nazwał Eksploratora sprawcą. Tak, chciałbym wiedzieć, dlaczego Explorer jest tak wolny. Tak długo, jak nie jest znana poprawka, podaję obejście za pomocą środków pokładowych, odpowiadając „Co mogę zrobić, aby to naprawić?”.
Rainer Blome,

3

Gdy folder wydaje się przenosić natychmiast, dzieje się tak dlatego, że system operacyjny mógł zaktualizować tabelę alokacji plików * bez przenoszenia rzeczywistych danych pliku.

Jest to wolniejsze w przypadku małych plików, ponieważ dla każdego z nich należy wprowadzić zmiany w tabeli. Jeśli pliki są naprawdę małe, przeniesienie danych może zająć nawet tyle samo czasu.

Nie wiem dokładnie, w jakich okolicznościach dane pliku muszą zostać przeniesione, gdy znajdują się na tej samej partycji co miejsce docelowe, ale zakładam, że nic nie możesz zrobić, aby tego uniknąć. Jak sugerowali inni komentatorzy i odpowiedzi, kopiowanie na inny dysk (inny dysk, inną partycję, na pamięć USB, na dysk przez sieć itp.) Oznaczałoby oczywiście, że musisz skopiować pełne dane, więc wszystko będzie być wolniejszym. Bardziej na ciebie wpłynie przepustowość tego, na co kopiujesz.

(* Pomyśl o danych pliku jak o książkach w bibliotece, a tabela alokacji plików jako o zestawie kart indeksowych pokazujących, w której sekcji znajdują się książki)


oglądałem wcześniej format FAT32. Myślę, że zamiast przenosić folder z jego uprawnień do aktualizacji dla każdego pliku, ponieważ nowy folder nadrzędny może mieć nowe uprawnienia. Nie potrzebuję tutaj żadnych uprawnień, więc jeśli mógłbym to wyłączyć i szybko się poruszać, zrobiłbym to.

1

Wygląda na to, że ilekroć Eksplorator Windows próbuje przenieść (lub skopiować) folder, wymaga dodatkowego kroku weryfikacji. Jeśli potrwa to kilka sekund, zobaczysz komunikat o stanie „Odkrywanie przedmiotów”. Wygląda na to, że inwentaryzuje wszystkie pliki w folderze; w taki sam sposób, jak robi to otwarcie tego folderu w Eksploratorze.

Ten krok może być potrzebny w niektórych przypadkach, ale nie powinien być potrzebny w przypadku większości operacji „przenieś ten folder z miejsca na miejsce”. Aby spekulować dalej - wydaje się prawdopodobne, że przeprowadzenie tej weryfikacji rozwiązało jakiś błąd w lepszy sposób w niektórych przypadkach, a Microsoft nigdy nie uważał za ważne, aby poprawić wydajność w dziwnych przypadkach posiadania „więcej niż setek” plików w folderze. Takie problemy mogą obejmować: podczas łączenia folderów; jeśli folder docelowy znajduje się na innym nośniku / partycji; może sprawdzić, czy nowe ścieżki do plików będą za długie dla systemu plików NTFS. IMO, wszystkie / wszystkie z nich mogły zostać sprawdzone z wyprzedzeniem, aby uniknąć tej dodatkowej operacji indeksowania, ale wiem, że wydajność na krawędziach jest często ignorowana.


0

Nie używałem XP od wieków, ale pamiętaj, że przenoszenie dużych ilości małych plików jest znacznie wolniejsze niż przenoszenie małych ilości dużych plików, przynajmniej w systemie Windows 7.

Ponadto przenoszenie plików między tymi samymi dyskami jest znacznie szybsze niż przenoszenie plików między różnymi dyskami, czasami natychmiastowe.


edytuję pytanie.



0

Spróbuj użyć polecenia wiersza polecenia

copy source destination.

Skorzystałem z tego i natychmiast skopiowałem 20k plików.


Po prostu FYI - SuperUser służy do odpowiedzi i nic więcej. Zredagowałem twoją odpowiedź, aby to odzwierciedlić. Dobra odpowiedź!
Jon
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.