- •1 Командный интерпретатор Windows. 2
- •2 Командные файлы 17
- •3 Задание на лабораторную работу 41
- •Командный интерпретатор Windows.
- •Запуск оболочкиcmd.Exe
- •Внутренние и внешние команды. Структура команд
- •Перенаправление ввода/вывода и конвейеризация (композиция) команд
- •Команды more и sort
- •Условное выполнение и группировка команд
- •Примеры команд для работы с файловой системой
- •Пути к объектам файловой системы
- •Команда cd
- •Команда copy
- •Команда xcopy
- •Xcopy источник [результат] [ключи]
- •Команда dir
- •11 Файлов 533 647 байт
- •2 Папок 143 261 696 байт свободно
- •11 Файлов 533 647 байт
- •2 Папок 143 257 600 байт свободно
- •Команды mkdir и rmdir
- •Команда del
- •Команда ren
- •Команда move
- •Командные файлы
- •Назначение
- •Вывод сообщений и дублирование команд
- •Использование параметров командной строки
- •Работа с переменными среды
- •Получение значения переменной
- •Преобразования переменных как строк
- •Операции с переменными как с числами
- •Локальные изменения переменных
- •Связывание времени выполнения для переменных
- •Приостановка выполнения командных файлов
- •Вызов внешних командных файлов
- •Операторы перехода
- •Операторы условия
- •Проверка значения переменной
- •If [/I] [not] строка1 оператор_сравнения строка2 команда
- •If [/I] строка1 оператор_сравнения строка2 команда
- •Проверка существования заданного файла
- •If [not] exist файл команда1 [else команда2]
- •Проверка наличия переменной среды
- •If defined переменная команда1 [else команда2]
- •Проверка кода завершения предыдущей команды
- •Проверка версии реализации расширенной обработки команд
- •Организация циклов
- •Цикл for … in … do …
- •Цикл for /d … in … do …
- •Цикл for /r … in … do …
- •Цикл for /l … in … do …
- •Цикл for /f … in … do …
- •Циклы и связывание времени выполнения для переменных
- •Задание на лабораторную работу
Циклы и связывание времени выполнения для переменных
Как и в рассмотренном выше примере с составными выражениями, при обработке переменных среды внутри цикла могут возникать труднообъяснимые ошибки, связанные с ранними связыванием переменных. Рассмотрим пример. Пусть имеется командный файл следующего содержания:
SET a=
FOR %%i IN (Раз,Два,Три) DO SET a=%a%%%i
ECHO a=%a%
В результате его выполнения на экран будет выведена строка "a=Три", то есть фактически команда
FOR %%i IN (Раз,Два,Три) DO SET a=%a%%%i
равносильна команде
FOR %%i IN (Раз,Два,Три) DO SET a=%%i
Для исправления ситуации нужно, как и в случае с составными выражениями, вместо знаков процента ( % ) использовать восклицательные знаки и предварительно включить режим связывания времени выполнения командой SETLOCAL ENABLEDELAYEDEXPANSION. Таким образом, наш пример следует переписать следующим образом:
SETLOCAL ENABLEDELAYEDEXPANSION
SET a=
FOR %%i IN (Раз,Два,Три) DO SET a=!a!%%i
ECHO a=%a%
В этом случае на экран будет выведена строка "a=РазДваТри".
Задание на лабораторную работу
Запустить командный интерпретатор cmd
В корневом каталоге диска C: создать каталог Work1 и подчиненный ему каталог DOK1. (рис. 1)
2. В корневом каталоге диска C: создать каталог Work2 и подчиненный ему каталог DOK2. (рис. 1)
3. В каталоге Work1 создать файл proba1.txt, содержащий произвольную информацию, а в каталоге Work2 — файл proba2.txt, содержащий произвольную информацию. (рис. 1).
4. Получить информацию о каталогах и файлах.
5. Просмотреть содержимое файлов.
6. Перенести файл proba1.txt в каталог DOK2.
7. Скопировать файл proba2.txt в каталог Work1 под именем proba3.txt.
8. Создать командный файл run.bat, в каталоге Work1, выполняющий следующие операции:
просмотр оглавления каталога DOK2
просмотр содержимого файла proba2.txt
создание каталога Tool
Запустить данный командный файл на исполнение.
9. Дополнить файл run.bat командой: очистить экран.
10. Удалить все созданные каталоги и файлы.
11. Создать систему каталогов:
Создать каталог Рабочийи перейти в него.
Создать подкаталоги: Архив, Тексты, Таблицы, Базы.
В каталоге Тексты создать подкаталогПроба.
12. Работа с текстами:
1. Перейти в каталог Тексты.
2. Создать текстовые файлы Письмо.1, Письмо.2, Письмо.3с произвольным содержимым в 3-4 строки т.
3. Скопировать все три письма в подкаталог Проба.
4. Перейти в каталог Проба.
5. Переименовать все файлы этого каталога, соответственно в файлы Записка.1, Записка.2, Записка.3.
6. Склеить 1 и 3 записки в файл Подшивка.
7. Удалить 1 и 3 записки.
Написать пакетный файл Просмотр.bat, который выводит поочередно на экран все файлы из каталога Проба.
C:\ WORK
1
WORK 2 DOK
1 DOK
2

