Хитрости командной строки Windows
|
(11:44) 28.09.2004
|
|
В DOS и Windows имя файла может содержать символы * и ?, означающие любое количество символов или один символ. С первого взгляда ничего сложного в них нет, но при более внимательном рассмотрении обнаруживаются некоторые интересные вещи. В DOS на самом деле записывается два шаблона: один шаблон для имени, а затем через точку - шаблон для расширения, например, A*.T?? (все файлы, имя которых начинается с буквы A, а расширение - с буквы T). Если расширение не указано, считается, что оно может быть любым (например, A* эквивалентно A*.*). Еще одна особенность: в DOS символы после звездочки не учитываются, например, *A работает так же, как *, то есть выдает все файлы, а не только заканчивающиеся буквой A. Поэтому в DOS имеет смысл использовать только те шаблоны, в которых звездочка стоит в конце, а не в начале или в середине. Приведу несколько примеров:
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 проверяют, кроме длинных имен, еще и короткие. Из-за этого возникают некоторые странные и не вполне корректные ситуации. Вот некоторые из них:

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

Шаблон ??A???.* в Windows XP
Тот же самый шаблон на том же каталоге в Windows 98
Код для вставки в блог:
Оставьте свой комментарий
Новостная лента
"Лаборатория Касперского": рост бизнеса замедляется
Microsoft выровняет все корпоративные цены для Европы
SpaceX заключила контракт на вывод двух спутников AsiaSat
Компания Airvana подает в суд на Ericsson и требует 330 млн долларов
Anonymous Russia продолжают публиковать архивы о "продажных чиновниках и блогерах"
Hitachi выпускает новые SSD-накопители
Российский веб-сервер Nginx обзаводится коммерческой техподдержкой
Rambus и Nvidia урегулировали все патентные разногласия
Eset начала открытое тестирование бета-версий пятого поколения продуктов
Mail.ru открывает представительство в Волгограде
Создан компьютер, способный работать в суперхолодных условиях
Оператор связи ТТК открыл новый узел доступа во Франкфурте
Ученые создали антитела, способные доставлять противораковые препараты в клетки опухоли
Telenor получила крупные убытки в четвертом квартале
