главная    •    Новости    •    софт    •    RSS-ленты    •    реклама    •    PDA-Версия    •    Контакты
Windows XP     •    Windows 7    •    Windows 8    •    Windows 10   •    Windows Server     •    Железо
Полезные советы      •     Администрирование      •     Сеть      •     Безопасность      •     статьи
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Windows 10 Creators Update убрали из Сети
  • Windows 10 Creators Update уже можно установить
  • На Microsoft подали в суд за Windows 10
  • Windows 10 Update Assistant поможет обновиться
  • Защитник Windows спасет от опасной уязвимости
  • Хакеры доказали уязвимость Microsoft Edge
  • В 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



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

    Материалы по теме:
  • Bulk Rename Utility 2.5.1.0 - утилита для переименования файлов
  • Расширяем возможности поиска Windows XP
  • Ini Editor 2.6.3
  • Bootdisk For All Windows
  • Скрипт поиска и удаления расшаренных ресурсов.


    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

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

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




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

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