8.8.14. Команды-модификаторы
Команда GLOBAL
Назначение: обеспечение обработки файлов как в рабочем каталоге, так и во всех
подчиненных ему каталогах.
Синтаксис:
GLOBAL [/{I·Q}] process
Комментарии. Модификатор GLOBAL обеспечивает выполнение команды (внешней или
внутренней) либо программы, заданной аргументом process, для указанных в ее вызове файлов из рабочего каталога, а затем — для
каждого каталога, ему подчиненного. Следовательно, модификатор GLOBAL функционально
аналогичен переключателю /S, допустимому в
некоторых командах DOS и NDOS, но может быть
применен ко всем командам и программам, так как обеспечивает их реальное
многократное выполнение для каждого каталога в поддереве файловой структуры.
Переключатели имеют следующий смысл:
/I —
продолжать действия в соответствии с модификатором GLOBAL, даже если при
обработке файлов в очередном каталоге process выдала ненулевой
код возврата. Если /I не задан, то обработка в таком случае будет прекращена;
/Q — не отображать спецификации
каталогов, к которым осуществляется доступ (т.е. установить «невидимый» режим
работы).
Замечание: маршрут в спецификации шаблона исходных файлов в process игнорируется,
используется только образец составного имени файла, применяемый к рабочему
каталогу.
Пример:
■ CDD А:\ GLOBAL COPY *.* В:\ — скопировать всю файловую структуру диска в приводе А на диск
в приводе В.
Команда
EXCEPT
Назначение: исключение из
обработки заданных файлов (каталогов).
Синтаксис:
EXCEPT ({pattern|dir} …) process
Комментарии. Модификатор
обеспечивает выполнение заданных в process действий над всеми
специфицированными файлами (каталогами), за исключением тех, которые указаны в
круглых скобках. Технически это реализуется путем установки атрибута Н у всех
сопоставимых с шаблонами pattern (dir) файлов (каталогов), выполнения process и последующего
сброса установленных атрибутов Н.
Замечания:
— если Вы при формировании
списка pattern и dir используете средства редактирования командной
строки (в частности, клавишу F9 и др.), то после
появления каждой спецификации нажимайте клавишу Space, чтобы не
отображалась открывающая круглая скобка;
— модификатор EXCEPT не действует на
команду ERASE с переключателем /Z.
Пример:
■ EXCEPT (*.ТХТ *.МЕ) DEL *.* — удалить в
рабочем каталоге все файлы, за исключением
ТХТ- и МЕ-файлов.
Команда SELECT
Назначение: обеспечение выбора
файлов (каталогов) для обработки с использованием интерактивного режима.
Синтаксис:
SELECT
[/A[:][-R·H·S·D·A]] [/О[:][–]{D|E|I|N|S|G|U}]
[pb] ({pattern |dir) ...) [pe]
Комментарии. Модификатор SELECT функционально
аналогичен средствам выделения для обработки группы файлов (каталогов) в
различных оболочках. Множество файлов (каталогов), из которых можно будет
выделить файлы, задается шаблонами pattern (dir). Обработка выделенных файлов и каталогов определяется командой (в
широком смысле этого слова), начало которой обозначено через рЬ, а конец — через ре. Сам же список в скобках размещается в том месте команды, где должен
быть ее исходный аргумент.
SELECT работает в интерактивном режиме: на экране
отображается список файлов (каталогов), который можно прокручивать клавишами
управления курсором и перемещать по его элементам маркер. Выделение
немаркированного файла осуществляется клавишей +, а отмена выделения — клавишей
— (обе клавиши — на малой цифровой клавиатуре). Вместо этих клавиш можно использовать
клавишу Space. Выделенные файлы отмечаются слева символом Нажатие клавиши * на малой
цифровой клавиатуре обеспечивает выделение всех файлов (но не каталогов).
Для выполнения команды по обработке файлов (каталогов) после их
выделения следует нажать клавишу Enter, а для отмены ее
выполнения — клавишу Esc или комбинацию клавиш Ctrl-Break.
Переключатель /А ограничивает множество отображаемых модификатором
файлов (каталогов) по атрибутам, а переключатель /О обеспечивает сортировку
списка файлов (каталогов). Эти переключатели идентичны одноименным
переключателям команды DIR и здесь поэтому не рассматриваются.
Заданная команда будет выполняться отдельно для каждого указанного в
круглых скобках аргумента после ограничения указанного этим аргументом
множества файлов (каталогов) путем диалога с модификатором SELECT. Поэтому на экране
одновременно могут отображаться файлы (каталоги), выбранные в соответствии
только с одним аргументом pattern (dir). После выделения файлов и нажатия клавиши Enter команда будет
выполнена и на экране появится список файлов (каталогов), выбранных по
следующему аргументу pattern (dir). Шаблоны, сцепленные символами ;, считаются одним аргументом.
Если вместо круглых скобок в командной строке использованы квадратные скобки, то SELECT отобразит сразу все
файлы (каталоги), выбранные по всем аргументам в скобках. После выделения
файлов (каталогов) заданная команда будет выполнена только один раз, но с
формированием в ней последовательности исходных аргументов. При этом следует
учитывать, что для внешних команд (программ, командных файлов) длина командной
строки не должна превышать 127 символов, а для внутренних — 255 символов.
Замечания:
― именно команда SELECT приближает
пользовательский интерфейс NDOS к уровню оболочек;
― NDOS-команда SELECT не имеет ничего общего с DOS-командой SELECT.
Пример:
■ SELECT COPY (*.ТХТ *.МЕ) С: — скопировать выделенные ТХТ- и МЕ-файлы из рабочего
каталога в текущий каталог диска в приводе С;
■ SELECT (*.СОМ *.ЕХЕ) —
выполнить выделенные СОМ- и ЕХЕ-файлы из рабочего каталога.