Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012- СИСПРОГ на МАСМ.doc
Скачиваний:
21
Добавлен:
09.11.2019
Размер:
553.47 Кб
Скачать

If errorlevel 0 команда2

Второй пример с переходом на метку:

команда3

If errorlevel 0 goto метка

:метка

Обратите внимание, что в консольном командном языке метка содержит двоеточие не после ее имени, а перед ним.

Вторым допустимым в пакетных файлах условием является проверка факта существования или несуществования в текущей активной папке файла с определенным именем.

if exist имя_файла <команда или переход> - проверка существования;

if not exist имя_файла <команда или переход> - проверка несуществования.

Если команда или вызываемая программа что-то выводит на консоль, то есть возможность перенаправить этот вывод в текстовый файл с использованием знака > :

Команда > имя_текстового_файла

Можно вывод команды дописать в конец уже существующего файла инструкцией >>:

Команда >> имя_уже_имеющегося_текстового_файла

Как частный случай, можно подавить вывод команды, перенаправив его в никуда:

Команда > null

Механизм перенаправления вывода используется в команде | (вертикальная черта), с помощью которой можно длинный вывод команды просматривать кусками размером с окно консоли. Например, при просмотре папки, содержащей большое число вложенных в нее файлов и папок, команда

dir | more

выполняется с остановкой вывода списка файлов на границе окна консоли. После нажатия Enter вывод будет продолжен.

Для нормальной работы программ требуется, чтобы они могли без осложнений производить поиск на диске вызываемых вспомогательных файлов. Это обеспечивается заданием правильного значения системной переменной окружения path, которая имеет формат «путь1; путь1;…; путьN».

Логика ее использования такая. Если программа пытается открыть файл с известным именем, то она сначала ищет его в текущей активной папке. Если не находит, то ищет в папке путь1, затем, если не находит, перебирает все пути в path. Результатом будет или успех поиска (файл будет открыт) или сообщение о том, что файл не найден. Ясно, что сообщение «файл не найден» говорит только о том, что его нет в просмотренных папках, но совсем не означает, что такого файла на диске нет вовсе.

При установке пакета МАСМ на компьютер он распаковывается, как правило, в папку D:\MASM32. При подготовке с его помощью ассемблерных программ всегда используются файлы из подпапок bin, lib и include. Поэтому пути к этим папкам нужно дописать в конец системной переменной path. Говоря конкретно, если, предположим, имело место

path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

то надо сделать

path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\ MASM32\BIN;D:\ MASM32\LIB;D:\ MASM32\INCLUDE;

Доступ к изменению системных переменных производится по маршруту (для Windows XP):

Значок «Мой компьютер» > Правая кнопка мыши > Свойства > Вкладка Дополнительно > Кнопка Переменные среды > Выбрать Path > Кнопка Изменить. Дописав пути к папкам МАСМ, не забудьте сохранить результат.

Для других версий Windows (Vista, 7) доступ производится примерно так же, легко сообразить по ситуации.

Нередко возникает желание не менять переменную path «навсегда», как показано выше, а переопределить ее только на период исполнения пакетного файла. Для нашего случая это можно было бы делать, включая во все пакетные файлы строку

Path = %path%; d:\ MASM32\bin;d:\ MASM32\lib;d:\ MASM32\include

Здесь %path% - это ее текущее значение. После выполнения этой команды path будет настроено для работы с МАСМ, но после завершения пакетного файла переменная path опять вернется к значению %path%.