Miért van a dir *. * Az összes fájl és mappa listája?
Néha előfordulhat, hogy a parancsok futtatásakor váratlan eredményeket érhet el, így az eredmények mögötti „miért” tanulása nagyon érdekes lehet. Ezt szem előtt tartva, a mai SuperUser Q&A bejegyzés válaszol egy kíváncsi olvasó kérdésére.
A mai Kérdések és válaszok munkamenet a Jóvagyon - a Stack Exchange alosztályának, a közösség által vezérelt Q&A webhelyek csoportjának köszönhetően..
A kérdés
SuperUser olvasó Luu Vinh Phuc tudni akarja, hogy miért listázza a dir *. * Az összes fájlt és mappát:
Amikor a dir *. * Parancsot futtatom, váratlan eredményeket hoz létre. Még a fájlban lévő pontok nélküli fájlok és mappák is megjelennek. Például:
Miért van az, hogy? Van-e mód arra, hogy csak egy ponttal listázza a fájlokat?
Miért listázza a dir *. * Az összes fájlt és mappát?
A válasz
A SuperUser hozzájárulói Fleet Command válaszol számunkra:
A DIR parancs egy olyan időpontból származik, amikor:
- A (.) Periódus nem volt megengedett karakterként a fájl- vagy mappanevekben
- A fájl- és mappanevek 8 karakterre korlátozódtak a nevekre és 3 karakterre a kiterjesztések esetében
Ezért az említett szabvány szerint *. * A nevét és a kiterjesztéstől függetlenül jelentette. Nem jelentett egy olyan karakterláncot, amely „.” -Et tartalmaz, ami lehet, hogy nem rendelkezik karakterekkel a „.” Előtt vagy után..
A Microsoft politikája megőrzi a visszafelé kompatibilitást, így megmarad a *. * Értelmezése. A Windows PowerShell-ben azonban a *. * Olyan karakterláncot tartalmaz, amely „.” -T tartalmaz, ami lehet, hogy nem rendelkezik karakterekkel a „.” Előtt vagy után..
Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.