De ce dir *. * Listați toate fișierele și folderele?
Uneori este posibil să ajungeți la rezultate neașteptate atunci când rulați comenzi, astfel încât învățarea "de ce" din spatele rezultatelor poate fi foarte interesantă. Având în vedere acest lucru, postul de astăzi SuperUser Q & A are răspunsul la o întrebare curioasă a cititorului.
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatea SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.
Intrebarea
Cititorul superutilizatorului Luu Vinh Phuc dorește să știe de ce dir *. * Afișează toate fișierele și folderele:
Când rulez comanda dir *. *, Produce rezultate neașteptate. Chiar și fișierele și directoarele fără nici un punct în nume sunt listate. De exemplu:
De ce este asta? Există vreo modalitate de a afișa doar fișierele cu un punct?
De ce dir *. * Listă toate fișierele și folderele?
Răspunsul
Comandantul Comandamentului de Comenzi al Superușorului are răspunsul pentru noi:
Comanda DIR provine dintr-un moment în care:
- O perioadă (.) Nu a fost permisă ca un caracter în nume de fișiere sau de foldere
- Numele de nume de fișiere și de dosare au fost limitate la 8 caractere pentru nume și 3 caractere pentru extensii
Prin urmare, prin acest standard, *. * Înseamnă orice nume și orice fel de extindere. Nu a însemnat un șir care conține un ".", Care poate sau nu să aibă caractere înainte sau după ".".
Politica Microsoft păstrează compatibilitatea înapoi, astfel încât interpretarea *. * Este păstrată. Dar în Windows PowerShell, *. * Înseamnă un șir care conține un ".", Care poate sau nu să aibă caractere înainte sau după ".".
Aveți ceva de adăugat la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.