Chcę mieć plik wsadowy, który usunie wszystkie foldery i pliki w moim folderze pamięci podręcznej dla mojego bezprzewodowego zestawu narzędzi.
Obecnie posiadam:
cd "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS"
del *.db
Spowoduje to usunięcie wszystkich plików .db w moim katalogu RMS , jednak chcę usunąć wszystko z tego katalogu. W jaki sposób mogę to zrobić?
batch-file
batch-processing
user69514
źródło
źródło
del /?
po monicie. Zawiera informacje, jak korzystać z narzędzia. W tym przypadkudel *.* /s
zadziała, ale nie rób tego w złym katalogu!rmdir /s /q c:\users\tbrollo\j2mewtk\2.5.2\appdb\RMS
RMS
katalog, co może nie być tym, co było zamierzone. (W rzeczywistości często jest to to, czego nie chcę, ponieważ wtedy tracę pierwotną sygnaturę czasową katalogu i wszelkie posiadane uprawnienia). Zobacz moją odpowiedź, jak usunąć całą zawartość katalogu, ale pozostawić sam katalog w miejsce.Odpowiedzi:
del *.*
zamiastdel *.db
. To usunie wszystko.źródło
del . /F /Q
Posługiwać się:
Utwórz plik wsadowy
Skopiuj poniższy tekst do pliku wsadowego
Usunie wszystkie pliki i foldery.
źródło
chcp 10000
zmień kodowanie na UTF-16(rmdir "%%i" /s/q 2>NUL || del "%%i" /s/q >NUL )
aby pominąć komunikaty o błędach i usunięciuSpowoduje to usunięcie wszystkiego z folderu (i samego folderu).
źródło
del *.*
usunie tylko pliki, ale nie podkatalogi. Aby niszczyć zawartość katalogu, możesz użyć tego skryptu:Te
pushd
zmiany do katalogu, który chcesz usunąć dzieci. Następnie, gdyrd
prosi o usunięcie bieżącego katalogu i wszystkich podkatalogów, usunięcie podkatalogów powiedzie się, ale usunięcie bieżącego katalogu nie powiedzie się - ponieważ jesteśmy w nim. To powoduje błąd, który2> NUL
połyka. (2 to strumień błędów).źródło
Właśnie złożyłem to razem z tego, co opublikował morty346:
Dodaje szybkie sprawdzenie, czy folder zdefiniowany w zmiennej istnieje jako pierwszy, zmienia katalog na folder i usuwa zawartość.
źródło
Możesz to zrobić używając
del
i/S
flagi (aby powiedzieć mu, aby powtarzał wszystkie pliki ze wszystkich podkatalogów):RD komenda może być również używany. Rekurencyjnie usuń cicho bez monitu:
Rmdir (rd)
źródło
źródło
Spróbuj wykonać następujące czynności; mi to pasuje.
Mam aplikację, która zrzuca dane w moim folderze „C: \ tmp” i poniższe działa najlepiej. Nie pyta nawet tak lub nie, aby usunąć dane. Zrobiłem harmonogram, aby uruchamiał się co 5 minut
źródło
del /q c:\tmp\*.*
, co jest około milion razy bezpieczniejsze. Nie wspominając ocd
zmianie tylko ścieżki, a nie jazdy.Jeszcze lepiej, powiedzmy, że chcę usunąć wszystko z
C:\windows\temp
folderu.źródło
c:\windows\temp
. Nie sądzę, żeby o to chodziło w pierwotnym pytaniu.Możesz użyć robocopy, aby utworzyć kopię lustrzaną pustego folderu w folderze, który usuwasz .
Działa również, jeśli nie możesz usunąć lub odtworzyć rzeczywistego folderu.
To wymaga istniejącego pustego katalogu.
źródło
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
- więc jestem prawie pewien, że/E
jest to zbędne.Posługiwać się
Ta wersja usuwa bez pytania:
Przykład:
To się wyjaśni
C:\foo1\foo\foo\foo3
.(Chciałbym wspomnieć o odpowiedzi Abdullaha Sabouina . Było zamieszanie co do tego, że go kopiowałem. Nie zauważyłem jego postu. Chciałbym ci podziękować melpomene za wskazanie błędów!)
źródło
rmdir foo
błędy, jeślifoo
nie jest pustym katalogiem.Nie możesz usunąć wszystkiego za pomocą jednego
rmdir
lubdel
samego:rmdir /s /q
nie akceptuje parametrów wieloznacznych. Więcrmdir /s /q *
będzie błąd.del /s /f /q
usunie wszystkie pliki, ale pozostaną puste podkatalogi.Moim preferowanym rozwiązaniem (tak jak w wielu innych plikach wsadowych) jest:
źródło
Tylko zmodyfikowana wersja odpowiedzi GregM :
źródło
Byłeś na dobrej drodze. Po prostu dodaj kod, aby dodać folder, który zostanie ponownie usunięty.
źródło
Powinieneś uruchomić to polecenie, aby usunąć wszystkie pliki:
źródło
del *.*
(ze spacją)