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




Лабораторная работа Командные файлы Windows

 

Постановка задачи

 

Цель работы: научиться использовать Командные файлы в операционной системы Windows.

 

 

Теоретические предпосылки

Командный файл представляет собой обычный текстовый файл с расширением bat (cmd), в котором записаны допустимые команды опера­ционной системы, а также некоторые дополнительные инструкции и ключе­вые слова, придающие командным файлам некоторое сходство с алгоритми­ческими языками программирования. Например, если записать в файл deltmp.bat следующие команды:

С:\

CD %TEMP%

ATTRIB -R *.tmp

DEL *.tmp

и запустить его на выполнение, то будут удалены все файлы во временном ка­талоге Windows. Таким образом, исполнение командного файла приводит к тому же результату, что и последовательный ввод записанных в нем команд. Командные файлы широко используются при выполнении многих задач, связанных с администрированием системы.

В командных файлах можно использовать комментарии, т. е. строки, которые никак не влияют на выполнение этого файла. Комментарии вносятся с помощью ключевого слова rem, например

REM Снимем атрибут "Только чтение" ATTRIB -R *.tmp

REM Удалим файлы с расширением tmp DEL *.tmp

 

Условное выполнение команд

В командной строке Windows можно использовать специальные символы, которые позволяют вводить несколько команд одновременно и управ­лять работой команд в зависимости от результатов их выполнения. С по­мощью таких символов условной обработки можно содержание небольшого пакетного файла записать в одной строке и выполнить полученную состав­ную команду.

Используя символ амперсанда &, можно разделить несколько утилит в одной командной строке, при этом они будут выполняться друг за другом. Напри­мер, если набрать командную строку

DIR & PAUSE & COPY /?

 

и нажать клавишу <Enter>, то вначале на экран будет выведено содержимое текущего каталога, а после нажатия любой клавиши — встроенная справка команды copy.

Символ ^ позволяет использовать командные символы как текст, т. е. при этом происходит игнорирование значения специальных символов. Напри­мер, если ввести в командной строке

ECHO Абв & COPY /?

и нажать клавишу <Enter>, то произойдет выполнение подряд двух команд: echo Абв и copy /?. Если же выполнить команду

ECHO Абв ^& COPY /?

то на экран будет выведено

Абв & COPY /?

В этом случае просто выполняется одна команда echo с соответствующими параметрами.

Условная обработка командосуществляется с помощью сим­волов && и | | следующим образом. Двойной амперсанд && запускает коман­ду, стоящую за ним в командной строке, только в том случае, если команда, стоящая перед амперсандами была выполнена успешно. Например, если в корневом каталоге диска с: есть файл plan.txt, то выполнение строки

TYPE C:\plan.txt && DIR

приведет к выводу на экран этого файла и содержимого текущего каталога. Если же файл c:\pian.txt не существует, то команда dir выполняться не будет.

Два символа || осуществляют в командной строке обратное действие, т. е. запускают команду, стоящую за этими символами, только в том случае, если команда, идущая перед ними, не была успешно выполнена. Таким образом, если в предыдущем примере файл c:\plan.txt будет отсутствовать, то в ре­зультате выполнения строки

TYPE C:\plan.txt || DIR

на экран выведется содержимое текущего каталога.

Отметим, что условная обработка действует только на ближайшую команду, т. е. в строке

TYPE C:\plan.txt && DIR & COPY /?

команда copy /? запустится в любом случае, независимо от результата вы­полнения команды TYPE C:\plan.txt.

Несколько утилит можно сгруппировать в командной строке с помощью скобок.

Рассмотрим, например, две строки:

TYPE C:\plan.txt && DIR & COPY /?

TYPE C:\plan.txt && (DIR & COPY /?)

В первой из них символ условной обработки && действует только на команду dir, во второй — одновременно на две команды: dir и copy.

 

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

Синтаксис команды 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 или пакетный файл, то новая копия командного интерпретатора будет запущена в текущем командном окне.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: