Чому dir *. * Список всіх файлів і папок?
Іноді ви можете отримати несподівані результати під час виконання команд, тому вивчення «чому» за результатами може бути дуже цікавим. Маючи це на увазі, сьогоднішня посада із запитами та відповідями SuperUser має відповідь на запитання цікавого читача.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Питання
Читач SuperUser Luu Vinh Phuc хоче знати, чому dir *. * Перераховує всі файли і папки:
Коли я запускаю команду dir *. *, Вона дає несподівані результати. Перераховані навіть файли та папки без будь-якої крапки в назві. Наприклад:
Чому так? Чи існує спосіб лише перераховувати файли з крапкою?
Чому dir *. * Перераховує всі файли і папки?
Відповідь
Команда флоту SuperUser має відповідь для нас:
Команда DIR надходить з моменту, коли:
- Період (.) Не був дозволений як символ у назві файлів або папок
- Імена файлів і папок були обмежені до 8 символів для імен і 3 символів для розширень
Таким чином, згідно з цим стандартом, *. * Означало будь-яку назву і будь-яке розширення. Це не означає рядок, що містить ".", Який може або не може мати символи до або після ".".
Політика корпорації Майкрософт зберігає зворотну сумісність, тому інтерпретація *. * Зберігається. Але в Windows PowerShell *. * Означає рядок, що містить “.”, Який може або не може мати символи до або після “.”.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.