Hjemmeside » hvordan » Hvorfor dir *. * Liste alle filer og mapper?

    Hvorfor dir *. * Liste alle filer og mapper?

    Nogle gange kan du ende med uventede resultater, når du kører kommandoer, så det kan være meget interessant at lære "hvorfor" bag resultaterne. Med det for øje har dagens SuperUser Q & A-post svaret på en nysgerrig læsers spørgsmål.

    Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af ​​SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

    Spørgsmålet

    SuperUser læser Luu Vinh Phuc vil vide, hvorfor dir *. * Lister alle filer og mapper:

    Når jeg kører kommandoen dir *. *, Producerer det uventede resultater. Selv filer og mapper uden prik i navnet er angivet. For eksempel:

    Hvorfor det? Er der nogen måde at kun liste filer med en prik?

    Hvorfor viser dir *. * Alle filer og mapper?

    Svaret

    SuperUser bidragyder Fleet Command har svaret for os:

    DIR-kommandoen kommer fra en tid, hvor:

    • En periode (.) Blev ikke tilladt som et tegn i fil- eller mappenavne
    • Fil- og mappens navne var begrænset til 8 tegn til navne og 3 tegn til udvidelser

    Derfor betød *. * Med den standard, uanset navnet og uanset forlængelsen. Det betød ikke en streng indeholdende en ".", Som måske eller måske ikke har tegn før eller efter ".".

    Microsofts politik bevarer tilbagevenden kompatibilitet, så fortolkningen af ​​*. * Bevares. Men i Windows PowerShell betyder *. * En streng med en ".", Som måske eller måske ikke har tegn før eller efter ".".


    Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.