Miałem użytkownika z ponad 100 000 plików w jednym katalogu. Maszyna blokuje się i staje się bezużyteczna przez długi czas, podczas gdy Eksplorator zapełnia pamięć i maszyna może ulec awarii. Czy istnieje prosty sposób na zrzucenie katalogu i zawartości? Próbowaliśmy użyć deltree z wiersza poleceń i nie było to lepsze.
DaveF
Extra -
Mieliśmy ten problem kilka razy z tym samym użytkownikiem (właściwie klientem). Podczas tworzenia program tworzy setki tysięcy plików tymczasowych. Jeśli program działa poprawnie, nie ma znaczenia, ponieważ zostaną one spowolnione po zakończeniu pracy. Ale co jakiś czas umiera, pozostawiając bałagan plików. Próbowaliśmy używać metod rmdir i del itp. Są one szybsze niż przy użyciu Eksploratora, ale generalnie mamy te same problemy. Partycja uległa uszkodzeniu, istnieje niewyjaśniony zablokowany plik, jakiś plik ma problem z uprawnieniami, który uniemożliwia usunięcie. Zwykle problem ten można rozwiązać przy ponownym uruchomieniu, ale w tym przypadku, ponieważ jest to krytyczny system, którego nie możemy w czasie produkcji. Na Uniksie możesz po prostu zrobić rm -rf itp. Jest to szybkie i generalnie nie ma z tym żadnego problemu.
BTW - aplikacja jest zmieniana, ale na jakiś czas nie wejdzie do produkcji i myślałem, że ten problem był prawdopodobnie interesujący dla innych.
Aktualizacja - ponieważ mamy system MKS Nutcracker w systemie (bez narzędzi wiersza poleceń), mamy programistę, aby zrzucił prosty rm. Jest to kilka zamówień szybszych niż del / deltree itp. Wydaje mi się dziwne, że nie ma tak prostej aplikacji, która byłaby dostępna jako standardowe narzędzie administracyjne systemu Windows.
źródło
Odpowiedzi:
Możesz użyć
rmdir
:Flagi:
/s
oznacza usuwanie rekurencyjne,/q
jest trybem „cichym”.źródło
Zwykle mam ten problem z serwerami, którymi administrowałem. Pomiń całkowicie eksploratora i użyj wiersza polecenia. Przejdź do folderu i „del . ”
W ten sposób unikniesz narzutu GUI (explorer to trash) i kosza na śmieci.
źródło
O ile nie jest to potrzebne w przypadku starszych aplikacji 16-bitowych, spróbuj zwiększyć wydajność, wyłączając generowanie krótkich nazw plików. Może to mieć znaczący wpływ na operacje katalogowe z dużą liczbą plików.
Następnie użyj:
RMDIR / S / Q [dysk:] ścieżka
aby usunąć katalog ze wszystkimi jego plikami.
źródło
Co powiesz na przeniesienie tego folderu tymczasowego na inny dysk / partycję? Zamiast usuwać wszystkie śmieci, możesz sformatować dysk (GUI lub wiersz poleceń). W przypadku szybkiego formatu powinno to być dość szybkie.
źródło
Jest to kombinacja poprzednich postów
otwórz okno poleceń:
File -> Run -> cmd
Usuń katalog
rmdir /s /q FOLDERNAME
LUB
Usuń wzór plików
cd \....\directory
del *.[something]
Jak zauważyłeś w swoim pytaniu Eksplorator Windows może naprawdę spowolnić proces.
Po obejrzeniu aktualizacji mam jeden z moich własnych produktów
Sprawdź tę listę programów do usuwania plików
źródło
Nie mam nic lepszego niż del i rm, ale nawet jeśli zajmują bardzo dużo czasu, nie powinno to prowadzić do uszkodzenia partycji. Zablokowane pliki mogą być spowodowane tym, że program, który je utworzył, nieoczekiwanie zmarł.
Czasami, chociaż plików nie można usunąć, można je przenieść do innego tymczasowego podkatalogu. Po prostu tworzę podkatalog _todel i tam go przenoszę. Zwykle działa to lepiej, jeśli przesunę cały katalog o jeden poziom wyżej niż same pliki.
Poza tym jedynym sposobem na przyspieszenie usuwania jest defragmentacja dysku twardego. Tymczasowym obejściem może być przeniesienie tego katalogu do udziału samby lub użycie złącza NTFS do przenośnego dysku twardego USB. (Mała partycja byłaby lepsza i szybsza niż używanie całego dysku twardego). Następnie możesz po prostu wysunąć dysk twardy i wykonać szybki format na innym komputerze.
źródło
Uszkodzona partycja z usuwania plików? To poważny problem z dyskiem, niezależnie od liczby usuwanych plików.
Spróbowałbym usunąć z wiersza poleceń i usunąć jak najwięcej, dopóki nie natkniesz się na taki, który jest zablokowany. Następnie użyj Eksploratora procesów, aby znaleźć proces, w którym ten plik jest otwarty. Zabij ten proces (jeśli możesz), a następnie ponownie wykonaj usuwanie. Spłucz, powtórz :)
źródło
Uruchom ponownie przy użyciu „Live” dysku CD z systemem Linux, rm -rf
źródło
Trochę hacky, ale możesz stworzyć skrypt, który będzie fragmentem usuwać pliki, nie znam formatu, ale zakładając, że pliki zaczynają się od liter az, możesz to zrobić
zmień deltree za pomocą wybranej metody usuwania. prawdopodobnie będzie wolniejszy, ale mniej podatny na błędy?
sidenote: możesz także spróbować zainstalować cygwin, aby uzyskać polecenia takie jak rm, które prawdopodobnie kontynuowałyby usuwanie plików nawet po napotkaniu błędu z jednym plikiem.
źródło
Różne metody przede wszystkim działają. Jeśli masz cygwin załadowany na pendrive, możesz po prostu podłączyć go do lokalnego USB, odpalić swoją powłokę cygwin i uruchomić komendę RM zgodnie z powyższym opisem. Jest to przydatny sposób na trzymanie pod ręką elastyczności uniksowej.
źródło
Możesz także uruchomić system w konsoli odzyskiwania lub coś podobnego. To powinno całkowicie zignorować wszelkie dziwne problemy z systemem operacyjnym.
źródło
Zamontuj folder z komputera z systemem Linux i stamtąd usuń go rekurencyjnie.
# mount -t cifs //server/share /mnt/tobedeleted -o username=yourshareusername
# rm /mnt/tobedeleted/* -R
Możesz nawet użyć zadania cron do usuwania plików w regularnych odstępach czasu.
źródło
Dlaczego nie skorzystać z robocopy i stworzyć kopię lustrzaną pustego katalogu?
Po prostu utwórz pusty folder, a następnie użyj:
źródło
Jeśli żadna z pozostałych sugestii nie działa, czy rozważałeś przyspieszenie operacji wejścia / wyjścia?
Kup lepsze kontrolery, szybsze dyski ..
Czy zastanawiam się, czy jeśli pliki są tymczasowe (jak sugerujesz) i pozwalają na to rozmiary, możesz dodać dodatkową pamięć RAM do pudełka (tanie) i skonfigurować dysk RAM?
Najlepszy przypadek, wydajność nie ulegnie pogorszeniu podczas usuwania dużych ilości plików. W najgorszym przypadku ponowne uruchomienie wyczyści partycję.
źródło
Spróbuj wyciąć i wkleić go do kosza, powinien ominąć próbę przeniesienia każdego pojedynczego pliku. Nie jestem jednak pewien, co zrobi, aby opróżnić pojemnik, ponieważ wtedy prawdopodobnie przejdzie on przez każdy plik.
źródło
Czy usunięcie za pomocą SHIFT + DEL ma jakikolwiek wpływ na szybkość?
źródło