Домашняя » как » Почему dir *. * Перечисляет все файлы и папки?

    Почему dir *. * Перечисляет все файлы и папки?

    Иногда вы можете столкнуться с неожиданными результатами при выполнении команд, поэтому изучение «почему» за результатами может быть очень интересным. Учитывая это, в сегодняшнем посте SuperUser Q & A есть ответ на вопрос любопытного читателя..

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Читатель SuperUser Luu Vinh Phuc хочет знать, почему dir *. * Перечисляет все файлы и папки:

    Когда я запускаю команду dir *. *, Она дает неожиданные результаты. Даже файлы и папки без каких-либо точек в списке. Например:

    Это почему? Есть ли способ перечислять только файлы с точкой?

    Почему dir *. * Выводит список всех файлов и папок??

    Ответ

    Участник SuperUser Fleet Command имеет ответ для нас:

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

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

    Следовательно, под этим стандартом *. * Подразумевает любое имя и любое расширение. Это не означает строку, содержащую «.», Которая может содержать или не содержать символы до или после «.».

    Политика Microsoft сохраняет обратную совместимость, поэтому интерпретация *. * Сохраняется. Но в Windows PowerShell *. * Означает строку, содержащую «.», Которая может содержать или не содержать символы до или после «.».


    Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.