главная    •     Новости      •     софт      •     RSS-ленты     •     реклама      •     PDA-Версия      •    Контакты
Windows XP    •      Windows 7     •    Windows 8    •    Windows 9-10-11     •    Windows Server     •    Железо
Советы      •     Администрирование      •     Сеть      •     Безопасность      •     Статьи      •     Материалы
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Microsoft Edge - еще более безопасный!
  • ActiveCloud - надежный провайдер облачных услуг для вашей компании
  • ANYSERVER - ваш поставщик б/у серверов из Европы
  • Настройка контекстной рекламы в Yandex и Google: Эффективный путь к росту вашего бизнеса
  • Коммутаторы с функцией PoE: Обеспечение эффективной передачи данных и питания
  • Очередное обновление сломало выключатель компьютеров на Windows 11
  • В DOS и Windows имя файла может содержать символы * и ?, означающие любое количество символов или один символ. С первого взгляда ничего сложного в них нет, но при более внимательном рассмотрении обнаруживаются некоторые интересные вещи.

    В DOS на самом деле записывается два шаблона: один шаблон для имени, а затем через точку - шаблон для расширения, например, A*.T?? (все файлы, имя которых начинается с буквы A, а расширение - с буквы T). Если расширение не указано, считается, что оно может быть любым (например, A* эквивалентно A*.*).

    Еще одна особенность: в DOS символы после звездочки не учитываются, например, *A работает так же, как *, то есть выдает все файлы, а не только заканчивающиеся буквой A. Поэтому в DOS имеет смысл использовать только те шаблоны, в которых звездочка стоит в конце, а не в начале или в середине. Приведу несколько примеров:

    *BAT - файл, имя (не только расширение!) которого оканчивается на BAT, например, file.bat или acrobat (без расширения, например, каталог) или даже просто bat без расширения. Этот шаблон не будет правильно работать в DOS, зато в Windows 9x/2000/XP он выполняется превосходно.

    *A*A* - файл, содержащий не менее двух букв A. Этот шаблон работает только в Windows.

    Хитрости командной строки Windows
    Шаблон *A*A* на примере каталога Windows


    Windows 2000/XP различает имена без расширения (например, имена каталогов) и имена с расширением. Команды dir hosts и dir hosts.* в DOS и Windows 9x будут трактоваться одинаково (файл с именем hosts и любым расширением или без него, например, файлы hosts и hosts.sam). А в Windows 2000/XP команда dir hosts покажет только файл с именем hosts и без расширения, если такой есть.

    Windows 9x считает, что вопросительный знак не может соответствовать отсутствию символа. Если указаны три вопросительных знака, то в Windows 9x - это именно три буквы, а в Windows XP и DOS - не менее трех букв.

    Еще одна интересная особенность: все версии Windows проверяют, кроме длинных имен, еще и короткие. Из-за этого возникают некоторые странные и не вполне корректные ситуации. Вот некоторые из них:

    ????????.??? (соответственно, восемь и три знаков вопроса) - под Windows 9x покажет все файлы, у которых имя состоит из 8 символов, а расширение - из трех, а также все имена файлов длиннее восьми символов (так как все они имеют короткое имя из восьми символов, которое подходит под шаблон). В DOS и Windows 2000/XP будут показаны все имеющиеся в каталоге файлы, так как в этих ОС вопросительный знак может означать отсутствие символа.

    ??????.* - под Windows 9x покажет все имена файлов из шести символов с расширением из любого числа символов (например, System.ini и Readme.html) и без расширения (каталоги System, Config, SendTo). Под Windows 2000/XP - все имена файлов, содержащие не более шести символов, кроме расширения. Кроме упомянутых System.ini, Readme.html, System под этот шаблон подходят Temp, win.ini, wn.ini и другие.

    ??a???.* - под Windows 9x это имя файла из шести букв, третья из которых - буква A, расширение любое (например, readme.txt или dialer.exe). В Windows XP и DOS команда dir выдаст имена, содержащие 3, 4, 5 или 6 букв кроме расширения, причем третья буква должна быть буквой A (twain.log, sea.exe, readme.txt, dialer.exe).

    Хитрости командной строки Windows
    Шаблон ??A???.* в Windows XP


    Хитрости командной строки Windows
    Тот же самый шаблон на том же каталоге в Windows 98


    *. (звездочка, точка) - все имена файлов без расширения. Считается, что в конце имени без расширения всегда стоит точка. Этот шаблон работает в DOS, Windows 9x/2000/XP.

    Автор: Петр Каньковски
    Источник: computerra.ru



    Оцените статью: Голосов

    Материалы по теме:
  • Как работают программы восстановления данных.
  • Удаляем файлы через vbScript.
  • Восстановление удаленной информации.
  • Восстановление данных из chk-файлов.
  • Как облегчить установку ПО в масштабах предприятия с помощью Редактора реестра



  • Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет двадцать минус три?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    МАТЕРИАЛЫ    ОТ ПАРТНЁРОВ

    Copyright © 2006-2022 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+