Jak usunąć pliki, ale zachować foldery w systemie Windows 10

Tworzenie folderów nie jest trudne, ale jeśli masz złożoną strukturę katalogów, której utworzenie zajęło dużo czasu (i prawidłowe nazewnictwo), prawdopodobnie nie chcesz jej ponownie tworzyć, chyba że musisz. Możesz dość łatwo skopiować strukturę folderów i zignorować zawarte w niej pliki, ale jeśli chcesz po prostu usunąć wszystkie pliki w folderze, zachowując utworzoną przez siebie złożoną strukturę folderów, możesz to zrobić. Między dwiema metodami możesz wybrać. Wyjaśnimy, jak można usuwać pliki, ale zachować foldery za pomocą prostego polecenia PowerShell.

Usuń pliki, ale zachowaj foldery

Nie potrzebujesz do tego uprawnień administratora, chyba że usuwasz pliki z katalogu głównego dysku C. Jeśli usuwasz je z folderu użytkownika lub dowolnego innego dysku, wystarczą zwykłe prawa wewnętrzne lub zewnętrzne.

Otwórz PowerShell i uruchom poniższe polecenie. Zastąp „ścieżkę do folderu” pełną ścieżką do folderu, z którego chcesz usunąć pliki. To polecenie spowoduje usunięcie wszystkich plików z tego folderu oraz wszystkich plików znajdujących się w nim podfolderów. Operacja usuwania nie wysyła plików do Kosza, więc najpierw wykonaj kopię zapasową.

Komenda

Get-ChildItem -Path "path-to-folder" -Include *.* -File -Recurse | foreach { $_.Delete()}

Przykład

Get-ChildItem -Path "D:DesktopJan 13 - 17" -Include *.* -File -Recurse | foreach { $_.Delete()}

To polecenie można zmodyfikować, aby kierowało również na określony typ pliku. Aby to zrobić, musisz zmienić następujące elementy;

*.*

Zamień drugą gwiazdkę na rozszerzenie pliku, na który chcesz kierować. Na przykład, jeśli chcesz usunąć wszystkie pliki tekstowe z folderu, użyj poniższego polecenia.

Get-ChildItem -Path "path-to-folder" -Include *.txt -File -Recurse | foreach { $_.Delete()}

Wszystkie pozostałe pliki pozostaną nietknięte. Tak jak poprzednio, pliki nie zostaną wysłane do Kosza, dlatego wykonaj kopię zapasową przed ich usunięciem. Tego polecenia można również użyć do usunięcia pliku o tej samej nazwie i istniejącego w wielu folderach, np. Image.png. Ponownie zmodyfikujesz bit za pomocą dwóch gwiazdek. Polecenie będzie wyglądać następująco.

Get-ChildItem -Path "path-to-folder" -Include image.png -File -Recurse | foreach { $_.Delete()}

Istnieją zaawansowane narzędzia do usuwania plików, które mogą to zrobić, ale najlepsze z nich są często trudne do zrozumienia. To polecenie jest łatwe do uruchomienia i istnieje znacznie mniejsze prawdopodobieństwo błędu, ponieważ nic nie spowoduje usunięcia folderów.