Защо dir *. * Списък на всички файлове и папки?
Понякога може да получите неочаквани резултати, когато изпълнявате команди, така че изучаването на „защо“ зад резултатите може да бъде много интересно. Имайки предвид това, днешната публикация за въпроси и отговори на SuperUser има отговор на един любопитен въпрос на читателя.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Въпроса
Четец на SuperUser Luu Vinh Phuc иска да знае защо dir *. * Изброява всички файлове и папки:
Когато стартирам командата dir *. *, Тя дава неочаквани резултати. Показват се дори файлове и папки без точка в името. Например:
Защо така? Има ли начин да се изброяват файлове само с точка?
Защо dir *. * Изброява всички файлове и папки?
Отговорът
Кореспондентът на флота на SuperUser има отговор за нас:
Командата DIR идва от времето, когато:
- Период (.) Не беше разрешен като символ в имената на файловете или папките
- Имената на файловете и папките бяха ограничени до 8 знака за имена и 3 знака за разширения
Следователно, с този стандарт, *. * Означаваше каквото и да е името и каквото и да е разширение. Тя не означава низа, съдържаща „.“, Която може или не може да има символи преди или след „.“.
Политиката на Microsoft запазва обратната съвместимост, така че тълкуването на *. * Се запазва. Но в Windows PowerShell, *. * Означава низ, съдържащ “.”, Който може или не може да има символи преди или след “.”.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.