Prečo dir *. * Zoznam všetkých súborov a priečinkov?
Niekedy môžete pri spustení príkazov skončiť s neočakávanými výsledkami, takže učenie "prečo" za výsledkami môže byť veľmi zaujímavé. S ohľadom na to má dnešný príspevok SuperUser Q & A odpoveď na otázku zvedavého čitateľa.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser Luu Vinh Phuc chce vedieť, prečo dir *. * Uvádza zoznam všetkých súborov a priečinkov:
Keď spustím príkaz dir *. *, Vytvára neočakávané výsledky. Zahrnuté sú aj súbory a priečinky bez názvu. Napríklad:
Prečo to je? Existuje nejaký spôsob, ako len zoznam súborov s bodkou?
Prečo dir *. * Obsahuje zoznam všetkých súborov a priečinkov?
Odpoveď
Prínos pre námorníkov Fleet Command má pre nás odpoveď:
Príkaz DIR pochádza z obdobia, keď:
- Čas (.) Nebol povolený ako znak v názvoch súborov alebo priečinkov
- Názvy súborov a priečinkov boli obmedzené na 8 znakov pre mená a 3 znaky pre rozšírenia
Preto podľa tohto štandardu znamená *. * Akékoľvek meno a akékoľvek rozšírenie. Neznamenalo to reťazec obsahujúci znak ".", Ktorý môže alebo nemusí mať znaky pred alebo za znakom ".".
Politika spoločnosti Microsoft zachováva spätnú kompatibilitu, takže interpretácia *. * Je zachovaná. Ale v systéme Windows PowerShell znamená *. * Reťazec obsahujúci znak ".", Ktorý môže alebo nemusí mať znaky pred alebo za znakom ".".
Máte niečo doplniť vysvetlenie? Znie to v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.