Główna » jak » Dlaczego Dir *. * Lista wszystkich plików i folderów?

    Dlaczego Dir *. * Lista wszystkich plików i folderów?

    Czasami możesz uzyskać nieoczekiwane wyniki podczas uruchamiania poleceń, więc poznanie "dlaczego" wyników może być bardzo interesujące. Mając to na uwadze, dzisiejszy post z pytaniami i odpowiedziami SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Czytnik SuperUser Luu Vinh Phuc chce wiedzieć, dlaczego katalog *. * Wyświetla wszystkie pliki i foldery:

    Kiedy uruchomię polecenie dir *. *, Spowoduje to nieoczekiwane wyniki. Nawet pliki i foldery bez kropki w nazwie są wymienione. Na przykład:

    Dlaczego? Czy istnieje sposób na wylistowanie tylko plików z kropką??

    Dlaczego dir *. * Wyświetla listę wszystkich plików i folderów?

    Odpowiedź

    Superuser contributor Fleet Command ma dla nas odpowiedź:

    Polecenie DIR pochodzi z czasu, gdy:

    • Okres (.) Nie był dozwolony jako znak w nazwach plików lub folderów
    • Nazwy plików i folderów zostały ograniczone do 8 znaków dla nazw i 3 znaków dla rozszerzeń

    Dlatego, według tego standardu, *. * Oznaczało cokolwiek nazwę i jakiekolwiek rozszerzenie. Nie oznacza to, że ciąg zawiera ".", Który może lub nie może mieć znaków przed lub po znaku ".".

    Polityka Microsoftu zachowuje kompatybilność wsteczną, dzięki czemu interpretacja *. * Zostaje zachowana. Ale w Windows PowerShell *. * Oznacza łańcuch zawierający ".", Który może ale nie musi mieć znaków przed lub po znaku ".".


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.