If-Koubou

Защо ли dir *. * Списък на всички файлове и папки?

Защо ли dir *. * Списък на всички файлове и папки? (Как да)

Понякога може да се окажете с непредвидени резултати при изпълнение на команди, така че научаването на "защо" зад резултатите може да бъде много интересно. С оглед на това, днешната публикация "SuperUser Q & A" има отговора на въпрос на любознателен читател.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Четецът на SuperUser Luu Vinh Phuc иска да знае защо dir *. * Изброява всички файлове и папки:

Когато стартирам командата dir *. *, Това води до неочаквани резултати. Дори и файловете и папките без точката в името са изброени. Например:

Защо така? Има ли начин да се изброят само файлове с точка?

Защо списъкът *. * Показва всички файлове и папки?

Отговорът

Командирът на флота командир на SuperUser има отговорът за нас:

Командата DIR идва от времето, когато:

  • Периодът (.) Не е разрешен като символ в имената на файлове или папки
  • Имената на файловете и папките бяха ограничени до 8 знака за имена и 3 знака за разширения

Следователно, по този стандарт *. * Означаваше каквото и да е името и каквото и да е разширението. Това не означава низ, съдържащ ".", Който може или не може да има символи преди или след ".".

Политиката на Microsoft запазва обратната съвместимост, така че тълкуването на *. * Се запазва. Но в Windows PowerShell, *. * Означава низ, съдържащ ".", Който може или не може да има символи преди или след ".".

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.