If-Koubou

De ce dir *. * Listați toate fișierele și folderele?

De ce dir *. * Listați toate fișierele și folderele? (Cum să)

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 Q & A.

Intrebarea

Cititorul superutilizatorului Luu Vinh Phuc dorește să știe de ce dir *. * Afișează toate fișierele și folderele:

Când execut 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 numai fișierele cu un punct?

De ce lista *. * Listă toate fișierele și folderele?

Răspunsul

Contribuitorul Comandamentului Fleet al contribuitorilor SuperUser are răspunsul pentru noi:

Comanda DIR vine dintr-un moment în care:

  • O perioadă (.) Nu a fost permisă ca un caracter în numele fișierelor sau al dosarelor
  • Numele de nume de fișiere și foldere 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 comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.