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

    Hvorfor gjør dir *. * Liste alle filer og mapper?

    Noen ganger kan du ende opp med uventede resultater når du kjører kommandoer, så å lære "hvorfor" bak resultatene kan være veldig interessant. Med det i bakhodet har dagens SuperUser Q & A-post svaret på en nysgjerrig leser spørsmål.

    Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

    Spørsmålet

    SuperUser leser Luu Vinh Phuc vil vite hvorfor dir *. * Viser alle filer og mapper:

    Når jeg kjører kommandoen dir *. *, Produserer det uventede resultater. Selv filer og mapper uten prikk i navnet er oppført. For eksempel:

    Hvorfor det? Er det noen måte å bare liste filer med en prikk?

    Hvorfor viser dir *. * Alle filer og mapper?

    Svaret

    SuperUser bidragsyter Fleet Command har svaret for oss:

    DIR-kommandoen kommer fra en tid da:

    • En periode (.) Ble ikke tillatt som et tegn i fil- eller mappens navn
    • Fil- og mappens navn ble begrenset til 8 tegn for navn og 3 tegn for utvidelser

    Derfor, med den standarden, *. * Mente hva navnet og hva som helst utvidelsen. Det innebar ikke en streng som inneholder en ".", Som kanskje eller ikke har tegn før eller etter ".".

    Microsofts policy er å bevare bakoverkompatibilitet, slik at tolkningen av *. * Beholdes. Men i Windows PowerShell betyr *. * En streng som inneholder en ".", Som kanskje eller ikke har tegn før eller etter ".".


    Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.