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, społecznościowego forum z pytaniami i odpowiedziami.
Czytnik SuperUser Luu Vinh Phuc chce wiedzieć, dlaczego dir *. * Wyświetla listę wszystkich plików i folderów:
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?
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, bez względu na to, z jakiego rozszerzenia. Nie oznacza to, że ciąg zawiera ".", Który może, ale nie musi, zawierać znaki przed lub po ".".
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 ".".
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.