Koduleht » kuidas » Miks dir *. * Loetleb kõik failid ja kaustad?

    Miks dir *. * Loetleb kõik failid ja kaustad?

    Mõnikord võidakse käskude käivitamisel jõuda ootamatute tulemusteni, nii et õpitulemuste taga olevate “miks” õppimine võib olla väga huvitav. Seda silmas pidades on tänase SuperUser Q&A postitusele vastus uudishimulikule lugeja küsimusele.

    Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.

    Küsimus

    SuperUser lugeja Luu Vinh Phuc tahab teada, miks dir *. * Loetleb kõik failid ja kaustad:

    Käsku dir *. * Käivitamisel tekitab see ootamatuid tulemusi. Loetletud on isegi failid ja kaustad, millel pole nime mingit punkti. Näiteks:

    Miks nii? Kas on võimalik faile loetleda ainult punktiga?

    Miks dir *. * Loetleb kõik failid ja kaustad?

    Vastus

    SuperUser'i panustaja Fleet Command on meile vastus:

    DIR-käsk pärineb ajast, mil:

    • Ajavahemik (.) Ei olnud faili- või kaustanimedes märgina lubatud
    • Failide ja kaustade nimed olid piiratud 8 tähemärgiga ja 3 tähemärki laienduste jaoks

    Seetõttu tähendas see standard, *. * Mis tahes nimest ja laiendist olenemata. See ei tähenda stringi, mis sisaldas “.”, Mis võib olla või ei pruugi olla enne “.”.

    Microsofti poliitika säilitab tagasiulatuva ühilduvuse, et säilitada *. * Tõlgendus. Kuid Windows PowerShellis tähistab *. * Stringi, mis sisaldab ".", Mis võib olla või ei pruugi enne ".".


    Kas teil on midagi lisada selgitusele? Heli on kommentaarides välja lülitatud. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.