Команды-модификаторы

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 (*.СОМ *.ЕХЕ) — выполнить выделенные СОМ- и ЕХЕ-файлы из рабочего каталога.