- •«Команды и пакетные файлы в ос Windows»
- •Структура команды
- •Шаблоны имен файлов
- •Список команд и группировка
- •Перенаправление ввода/вывода
- •Конвейеры
- •Переменные среды
- •Некоторые команды консольного режима
- •Просмотр и изменение сопоставлений файлов
- •Вывод и изменение атрибутов файлов
- •Вывод имени либо смена текущего каталога
- •Очистка экрана
- •Запуск новой копии интерпретатора команд Windows
- •Установка цветов для текста и фона в текстовых окнах
- •Сравнение содержимого двух файлов или наборов файлов
- •Копирование одного или нескольких файлов в другое место или с другим именем
- •Вывод или изменение даты
- •Удаление одного или нескольких файлов
- •Вывод списка файлов и подкаталогов из указанного каталога
- •Завершение работы интерпретатора команд
- •Сравнение двух файлов или двух наборов файлов и вывод различий между ними
- •Поиск заданного текста в файлах
- •Просмотр и изменение командных строк, сопоставленных с типом файлов
- •Вывод справочных сведений о командах Windows
- •Создание, изменение и удаление меток тома для дисков
- •Создание каталога
- •Последовательный вывод данных по частям размером в один экран
- •Перемещение одного или нескольких файлов из одного каталога в другой, переименование файлов и папок
- •Вывод или задание пути поиска исполняемых файлов
- •Печать текстового файла
- •Изменение приглашения командной строки
- •Удаление каталога
- •Переименование одного или нескольких файлов.
- •Замена файлов
- •Вывод, задание, удаление и ввод переменных среды
- •Выключение или перезапуск компьютера
- •Сортировка строк стандартного ввода или файла
- •Запуск указанной программы или команды в отдельном окне
- •Сведения о конфигурации операционной системы
- •Завершение процесса по его идентификатору или имени образа
- •Отображение списка процессов
- •Вывод или изменение времени
- •Назначение и возможности пакетных файлов
- •Параметры пакетных файлов
- •Позиционные параметры
- •Модификаторы позиционных параметров
- •Переменные среды в пакетных файлах
- •Параметр errorleveLи переменная %errorlevel%
- •Команды для пакетных файлов
- •Вызов одного пакетного файла из другого
- •Вывод сообщений и переключение режима отображения команд на экране
- •Локализация изменений среды в пакетном файле
- •Циклическое выполнение указанной команды для набора значений
- •Передача управления строке пакетного файла
- •Оператор условного выполнения команд в пакетном файле
- •If условие (команда1
- •Порядок выполнения работы
- •Пример выполнения лабораторной работы
- •Примеры заданий на использование команд в диалоге
- •Список вариантов заданий на разработку пакетных файлов
- •Контрольные вопросы
Передача управления строке пакетного файла
GOTO метка
GOTO :EOF
Метка должна находиться в отдельной строке и начинаться с двоеточия.
Команда “GOTO :EOF” вызывает передачу управления в конец текущего пакетного файла. Это позволяет легко выйти из пакетного файла без определения каких-либо меток.
Оператор условного выполнения команд в пакетном файле
IF [NOT] [/I] условие команда1 [ELSE команда2]
NOT |
Обращает истинность условия: истинное условие становится ложным, а ложное – истинным |
/I |
Для условий, основанных на сравнении строк, задает сравнение без учета регистра |
команда1 |
Команда, которую следует выполнить в случае истинности условия |
команда2 |
Команда, которую следует выполнить в случае ложности условия |
Условие, определяющее выполнение команды, может быть одним из следующих:
ERRORLEVEL число |
Истинно, если код завершения последней выполненной программы не меньшеуказанного числа |
EXIST файл |
Истинно, если файл с указанным именем существует |
строка1 операция строка2 |
Операция сравнения может быть одной из следующих: == – равноNEQ– не равно LSS– меньшеLEQ– меньше или равно GTR– большеGEQ– больше или равно Если строки 1 и 2 содержат только цифры, то обе строки преобразуются в числа, после чего выполняется сравнение чисел |
DEFINED переменная |
Истинно, если указанная переменная среды существует |
Не рекомендуется использовать устаревшую и провоцирующую ошибки конструкцию “IF ERRORLEVEL число”, вместо этого лучше применять более удобные формы: “IF %ERRORLEVEL%==число”, “IF %ERRORLEVEL% GEQ число” и т.п.
При использовании условного оператора, содержащего ELSE-часть, следует учитывать следующее. Ключевое словоELSEне должно размещаться с начала новой строки, оно должно стоять в той же строке, где заканчиваетсякоманда1. С другой стороны, многие команды рассматривают всю оставшуюся часть строки как свои параметры, при этом словоELSEтоже будет воспринято как параметр. Чтобы выйти из этого затруднения, можно воспользоваться круглыми скобками:
If условие (команда1
) ELSE команда2
Приостановка выполнения пакетного файла до нажатия любой клавиши
PAUSE
Переход в другой каталог с возможностью возврата
PUSHD [путь|..]
POPD
путь |
Каталог, который следует назначить текущим |
Переходит в указанный каталог, сохраняя информацию о прежнем текущем каталоге, который позднее может быть восстановлен командой POPD.
Использование пары команд PUSHD/POPDоблегчает, например, программирование рекурсивной обработки каталога с вложенными в него подкаталогами.
Помещение комментариев в пакетные файлы
REM [текст]
Сдвиг подставляемых параметров для пакетного файла
SHIFT [/n]
Команда вызывает уменьшение на единицу номеров, соответствующих всем позиционным параметрам. Бывший параметр %0перестает быть доступным, параметр%1становится параметром%0и т.д.
Если при вызове пакетного файла было указано больше 9 параметров, то «лишние» параметры становятся доступными после одной или нескольких команд SHIFT, когда их номера попадают в диапазон%0–%9.
Основное применение команды SHIFT– организация цикла по неизвестному заранее числу параметров командной строки. Условием окончания цикла может быть пустота очередного параметра.
Ключ /nзадает начало сдвига параметров с номераn, гдеnможет быть от 0 до 8. Например, после выполнения команды “SHIFT /2” бывший параметр%3становится доступен как%2, параметр%4– как%3и т.д., а%0и%1остаются без изменений.