Strona główna
» WINDOWS
»
Jak znaleźć puste foldery w systemie Windows 10 za pomocą programu PowerShell
Jak znaleźć puste foldery w systemie Windows 10 za pomocą programu PowerShell
Aby znaleźć puste foldery w systemie Windows 10, uruchom rekurencyjne polecenie programu Windows PowerShell, które sprawdza bezpośrednią zawartość każdego folderu i wyświetla pełną ścieżkę, jeśli jej nie znajdzie. Skanowanie jest tylko do odczytu: wyświetla listę potencjalnych folderów, ale ich nie usuwa ani nie przenosi. W miarę możliwości wybierz konkretny folder początkowy, a następnie sprawdź każdy wynik przed usunięciem czegokolwiek.
Co uznaje się za pusty folder?
W tym przewodniku zastosowano ścisłą definicję: folder jest pusty, gdy nie zawiera żadnych plików ani folderów podrzędnych. Folder zawierający inny folder nie jest pusty, nawet jeśli ten folder podrzędny niczego nie zawiera. Polecenie sprawdza bezpośrednie wpisy każdego folderu, w tym wpisy ukryte, więc ukryty plik lub element systemowy uniemożliwia dopasowanie.
Polecenie programu Windows PowerShell Get-ChildItemmoże rekurencyjnie wyliczać katalogi, podczas gdy .NET DirectoryInfo.GetFileSystemInfos()zwraca pliki i podkatalogi w jednym katalogu. Funkcja skanowania łączy te funkcje i raportuje tylko ścieżki z zerowymi wpisami. Więcej informacji na temat funkcji Get-ChildItem i DirectoryInfo.GetFileSystemInfos można znaleźć w dokumentacji programu Windows PowerShell 5.1 firmy Microsoft .
Znajdź puste foldery za pomocą programu PowerShell
Wybierz miejsce wyszukiwania. Wybierz folder lub dysk jako katalog główny skanowania. Możesz na przykład użyć go C:\Users\YourName\Desktopdo skanowania folderu na pulpicie, D:\SteamLibrarybiblioteki gier lub C:\całego dysku systemowego. Zastąp go YourNamenazwą folderu swojego konta Windows. Jeśli ścieżka zawiera spacje, umieść ją w cudzysłowie.
Otwórz program Windows PowerShell. Wybierz Start, wpisz PowerShell, a następnie otwórz program Windows PowerShell. Standardowe okno zazwyczaj wystarcza dla folderów, do których masz już dostęp. Jeśli chcesz sprawdzić chronioną lokalizację i masz dostęp administratora, kliknij wynik prawym przyciskiem myszy i wybierz opcję Uruchom jako administrator . Uprawnienia mogą przyznać dostęp do niektórych folderów, ale nie omijają wszystkich granic uprawnień.
Otwórz program PowerShell ze menu Start. Używaj okna z podwyższonym poziomem uprawnień tylko wtedy, gdy skanowanie wymaga uprawnień, do których masz uprawnienia.
Ustaw ścieżkę skanowania i uruchom listę. W pierwszym wierszu zmień przykładową ścieżkę na wybrany folder. Następnie wklej pełne polecenie do programu PowerShell i naciśnij Enter.
Wybierz $rootfolder lub dysk, który chcesz przeskanować.
PowerShell wyświetla jedną pełną ścieżkę dla każdego pasującego folderu. W przypadku innej lokalizacji edytuj tylko wartość przypisaną do $root. Przykłady to 'C:\Users\YourName', 'D:\My Games', lub 'C:\'. Skanowanie może trwać dłużej, jeśli wybierzesz cały dysk, ponieważ musi wyliczyć wiele katalogów.
Przedstawione ścieżki są przykładami pełnych danych wyjściowych, jakie polecenie może zwrócić.
Przejrzyj każdą ścieżkę w Eksploratorze plików. Skopiuj wynik, wklej go w pasek adresu Eksploratora plików i sprawdź lokalizację oraz przeznaczenie folderu. Jeśli uznasz, że można go bezpiecznie usunąć, usuń go ręcznie w Eksploratorze plików. Samo polecenie programu PowerShell nie obsługuje operacji usuwania.
Otwórz kandydata, używając jego pełnej ścieżki i sprawdź, czy nie jest on potrzebny, zanim go usuniesz.
Zrozum, co obejmuje skanowanie
-DirectoryOgranicza rekurencyjną listę do folderów, -Recurseprzeszukuje ich elementy podrzędne i -Forceuwzględnia elementy ukryte lub systemowe, które mogłyby zostać pominięte w normalnej liście. -LiteralPathTraktuje wybrany katalog główny jako ścieżkę dosłowną, co pozwala uniknąć interpretacji symboli wieloznacznych i jest zalecanym przez Microsoft wyborem dla ścieżek rekurencyjnych. Sam folder główny stanowi granicę wyszukiwania; polecenie zgłasza puste foldery znajdujące się pod nim, a nie sam katalog główny.
Dowiązania symboliczne katalogów pojawiają się na listach rekurencyjnych, ale program Windows PowerShell 5.1 domyślnie nie podąża za nimi do ich lokalizacji docelowych. Jeśli chcesz sprawdzić powiązaną lokalizację, przeskanuj jej ścieżkę docelową osobno. Przełącznik -Forcenie ignoruje również ograniczeń bezpieczeństwa, więc komunikat o odmowie dostępu oznacza, że część skanowania nie mogła zostać sprawdzona. Okno z podwyższonym poziomem uprawnień może być pomocne, gdy Twoje konto ma uprawnienia, ale skanowanie z błędami nie jest pełnym inwentaryzacją.
Kiedy pojawi się wynik — lub nie
Brak ścieżek i błędów: PowerShell nie znalazł pustych folderów podrzędnych w wybranym katalogu głównym. Sam katalog główny nie jest uwzględniony.
PowerShell informuje, że nie można znaleźć ścieżki: Sprawdź literę dysku i nazwę folderu konta oraz upewnij się, że dysk jest podłączony. Ścieżki należy ujmować w pojedyncze cudzysłowy, a ścieżki w spacje.
Pojawiają się komunikaty o odmowie dostępu: Traktuj wyniki jako niekompletne dla tych lokalizacji. Nie zakładaj, że chroniony folder nieznajdujący się na liście jest pusty.
Folder jest wymieniony, ale wygląda na ważny: pozostaw go na miejscu, dopóki nie dowiesz się, która aplikacja lub składnik systemu Windows go utworzył. Puste foldery można zarezerwować na stan oprogramowania, aktualizacje, synchronizację lub przyszłe pliki.
W przypadku szerokiego wyszukiwania, zacznij od folderu należącego do użytkownika i rozszerzaj zakres tylko w razie potrzeby. Unikaj usuwania kandydatów z systemu Windows, plików programów lub danych aplikacji tylko dlatego, że skanowanie nie wykryło żadnych wpisów. Ścieżka to monit o przejrzenie folderu, a nie zalecenie jego usunięcia.