Miksi dir *. * Listaa kaikki tiedostot ja kansiot?
Joskus saatat joutua odottamattomiin tuloksiin komentoja käytettäessä, joten tulosten takana olevan ”miksi” oppiminen voi olla hyvin mielenkiintoista. Tässä mielessä tämän päivän SuperUser Q&A -postissa on vastaus utelias lukijan kysymykseen.
Nykypäivän Kysymys- ja vastaus -istunto tulee meille suotuisasti SuperUserin - Stack Exchange -alueen, yhteisöpohjaisen Q & A-sivustojen ryhmittymän - kautta..
Kysymys
SuperUser-lukija Luu Vinh Phuc haluaa tietää, miksi dir *. * Luettelee kaikki tiedostot ja kansiot:
Kun suoritan dir *. * -Komennon, se tuottaa odottamattomia tuloksia. Myös tiedostot ja kansiot, joissa ei ole mitään pistettä, näkyvät luettelossa. Esimerkiksi:
Miksi niin? Onko mahdollista vain listata tiedostoja pisteellä?
Miksi dir *. * Luettelee kaikki tiedostot ja kansiot?
Vastaus
SuperUserin avustaja Fleet Commandilla on vastaus meille:
DIR-komento tulee ajankohdasta, jolloin:
- Aika (.) Ei ollut sallittua merkkinä tiedostojen tai kansioiden nimissä
- Tiedostojen ja kansioiden nimet olivat enintään 8 merkkiä nimiä ja 3 merkkiä laajennuksia varten
Sen vuoksi kyseinen standardi merkitsi *. * Mitä tahansa nimeä ja laajennusta riippumatta. Se ei tarkoittanut merkkijonoa, joka sisälsi ".", Joka voi sisältää merkkejä ennen tai jälkeen..
Microsoftin käytäntö säilyttää taaksepäin yhteensopivuuden, joten *. *: N tulkinta säilyy. Windows PowerShellissa *. * Tarkoittaa merkkijonoa, joka sisältää ".", Joka voi sisältää merkkejä ennen "tai"..
Onko jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta tech-savvy Stack Exchange -käyttäjiltä? Tutustu koko keskusteluketjuun täällä.