Запуск программ и документов

Синтаксис команды start имеет следующий вид:

START ["заголовок"] [/Dпутъ] [/I] [/MIN] [/MAX] [/SEPARATE|/SHARED] [/LOW| /NORMAL/HIGH|/REALTIME] [/WAIT] [/В] [команда/программа] [параметры]

Если параметр команда/программа определяет внутреннюю команду интерпретатора cmd.exe или пакетный файл, то для их выполнения в новом (если не указан ключ /B) окне автоматически запускается интерпретатор команд cmd.exe с ключом /K. Таким образом, в этом случае новое окно не будет закрыто после завершения команды. Если же запускается не внутренняя команда cmd.exe и не пакетный файл, то эта программа запускается в гра­фическом или текстовом окне.

В случае, когда первым элементом командной строки является слово cmd без расширения и пути к файлу, обработчик команд перед выполнением строки заменяет слово cmd на значение переменной comspec (полный путь к ко­мандному интерпретатору), что позволяет избежать неожиданного запуска случайных версий файла CMD.exe.

Здесь синтаксис подобен синтаксису для переменной path, т. е. отдельные элементы разделяются точкой с запятой. Если ни одного файла с заданными по умол­чанию расширениями не найдено, интерпретатор команд проверяет, задает ли указанное имя существующий каталог. Если это так, то команда START запускает Проводник Windows и открывает в нем указанный каталог.

Параметр заголовок в команде start определяет заголовок создаваемого окна. Например:

START "Копирование данных" copier.bat

Если команда start открывает новое командное окно, то в нем можно сразу указать рабочий каталог. Это делается с помощью параметра путь.

Применение ключа /I означает, что новой операционной средой станет ис­ходная среда, переданная командным интерпретатором cmd.exe, а не теку­щая среда командного окна.

Если указан ключ /MIN, то запуск команды/программы происходит в свернутом окне, если /MAX — то в развернутом (максимизированном) окне.

Ключи /SEPARTR и /SHARED используются для указания режима запуска 16-разрядных приложений Windows. Если указан ключ /SEPARATE, тo запуск такой программы происходит в отдельной области памяти, если /SHARED — то в общей области памяти.

Следующие четыре ключа отвечают за приоритет запускаемой задачи. При­менение ключа /LOW означает, что приложение запускается с приоритетом IDLE, ключа /NORMAL — с приоритетом NORMAL, ключа /HIGH — с приоритетом HIGH, ключа /REALTIME — с приоритетом REALTIME.

Ключ /WAIT используется для запуска приложения с ожиданием его завершения.

Если указан ключ /B, то запуск приложения происходит без создания нового окна (конечно, если это возможно). Таким образом, если с этим ключом за­пускается внутренняя команда cmd.exe или пакетный файл, то новая копия командного интерпретатора будет запущена в текущем командном окне.

Вывод сообщений и дублирование команд

По умолчанию команды пакетного файла перед исполнением выводятся на экран с помощью команды echo off можно отключить дублирование команд, идущих после нее (сама команда echo off при этом все же дублируется). Например,

REM Следующие две команды будут дублироваться на экране ...

DIR С:\

ECHO OFF

REM А остальные уже не будут

DIR D:\

Для восстановления режима дублирования используется команда echo on. Кроме этого, можно отключить дублирование любой отдельной строки в командном файле, написав в начале этой строки символ @, например:

ECHO ON

REM Команда DIR С:\ дублируется на экране

DIR С:\

REM А команда DIR D:\ — нет

@DIR D:\

Таким образом, если поставить в самое начало командного файла команду

@ЕСНО OFF

то это решит все проблемы с дублированием команд.

Вывести строку сообщения на экран можно с помощью команды

ECHO сообщение

Например,

@ЕСНО OFF

ECHO Привет!

Команда ЕСНО, (точка должна следовать непосредственно за словом "echo") выводит на экран пустую строку. Например,

@ЕСНО OFF

ЕСНО Привет!

ECHO.

ЕСНО Пока!

Часто бывает удобно для просмотра сообщений, выводимых из пакетного файла, предварительно полностью очистить экран командой cls.

Используя механизм перенаправления ввода/вы­вода (символы > и >>), можно направить сообщения, выводимые командой echo, в заданный текстовый файл. Например,

@ЕСНО OFF

ECHO Привет! > hi.txt

ECHO Пока! >> hi.txt

Наши рекомендации