Пример 2.17. Смена текущего каталога в режиме расширенной обработки d:\WINLAB>md "new name"
d:\WINLAB>chdir new name d:\WINLAB\new name> d:\WINLAB\new name>cd .. d:\WINLAB>rd new name
Не удается найти указанный файл. d:\WINLAB>rd "new name" d:\WINLAB>
2.1.3. Работа с текстовыми файлами в Cmd.exe
После построения дерева каталогов (см. рис. 2.5) перейдем к рассмотрению основных способов создания и редактирования простых текстовых файлов (см. табл. 2.2).
Для пользователей Windows самым очевидным инструментом такой работы является приложение «Блокнот» (Notepad), запускаемое в русском варианте графического интерфейса Windows как:
Пуск > Все программы > Стандартные > Блокнот
или в англоязычном интерфейсе:
Start > All Programs > Accessories > Notepad
Для корректного отображения текста фалов, созданных в текстовом редакторе Notepad, необходимо установить для командной строки кодовую страницу 1251 (для каждого национального алфавита используется своя так называемая кодовая страница, необходимая для корректного отображения национальных шрифтов) и выбрать для отображения текста один из True Type шрифтов: Consolas или Lucida Console (выбор шрифтов подробно рассмотрен в п. 2.2.2). Для просмотра текущей кодовой страницы, в данный момент используемой командным интерпретатором, и для ее изменения служит команда CHCP (см. далее в п. 2.2.1, пример 2.28).
Приложение «Блокнот» может быть запущено и из командной строки (пример 2.18). В данном примере создается текстовый файл papa1.txt (см. рис. 2.5) с использованием абсолютного пути, включающего имя директории и имя файла.
Пример 2.18. Вывод текстового файла на экран d:\WINLAB>tree papa
D:\WINLAB\PAPA
81
├───incredible
└───math
├───strong └───study
d:\WINLAB>notepad papa\math\strong\papa1.txt d:\WINLAB>
После подтверждения запроса на создание файла и набора соответствующего текста (рис. 2.6) необходимо сохранить и закрыть файл (Файл > Сохранить), после чего убедиться в существовании файла командами DIR или TREE.
Рис. 2.6. Текстовый файл в редакторе Notepad
Для просмотра существующих текстовых файлов из командной строки применяются команды TYPE или MORE (пример 2.19).
Пример 2.19. Вывод текстового файла на экран d:\WINLAB>type papa\math\strong\papa1.txt
Папа уВаси силен в математике, d:\WINLAB>cd papa\math\strong d:\WINLAB\papa\math\strong>more papa1.txt
Папа уВаси силен в математике, d:\WINLAB\papa\math\strong>
При просмотре текстовых файлов можно использовать абсолютные и относительные пути к ним из текущей директории. Если
82
с помощью команды CD сделать текущей директорию, в которой находится просматриваемый файл, то команде TYPE или MORE достаточно указать в качестве параметра только имя файла.
Команда TYPE осуществляет вывод содержимого одного или нескольких текстовых файлов в формате:
TYPE [диск:][путь]имя_файла
Команда MORE выводит данные текстового файла по частям, размером в один экран. Наиболее простой форматы ее использования выглядит следующим образом:
MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]
/E – разрешение использования дополнительных возможностей; /C – очистка экрана перед выводом каждой страницы;
/P – учет символов перевода страницы;
/S – сжатие нескольких пустых строк в одну строку;
/Tn – замена табуляции n пробелами (по умолчанию n = 8); +n – начало вывода первого файла со строки с номером n.
Для разделения имен в списке отображаемых файлов используются пробелы. Если включен режим использования дополнительных возможностей, то MORE будет работать как консольное приложение, в командной строке которого можно вводить следующие команды:
P n – вывод следующих n строк; S n – пропуск следующих n строк; F – вывод следующего файла;
Q – завершение работы; = – вывод номера строки;
? – вывод строки подсказки; <пробел> – вывод следующей страницы; <ENTER> – вывод следующей строки.
Помимо текстового редактора Notepad, являющегося неотъемлемой частью стандартного набора приложений Windows, командная строка позволяет создавать и редактировать текстовые файлы при помощи утилиты Edit – текстового редактора, унаследованного еще от MS DOS. Меню (допускающее управление мышью) и команды (сочетания клавиш) этого редактора практически анало-
83
гичны Notepad – и в этом нет ничего удивительного, поскольку Notepad является прямым наследником Edit. В рамках данного лабораторного практикума использование этой весьма полезной утилиты осложняет проблемы с русификацией.
Для создания текстовых файлов непосредственно в командной строке можно использовать копирование текста (см. п. 2.1.4) со стандартной консоли (клавиатуры), а также перенаправление стандартного ввода/вывода команд в текстовый файл (см. п. 2.2.3).
Если в командной строке Windows набрать и подтвердить путь к текстовому файлу (с расширением «.txt»), то это приведет к открытию текстового файла в редакторе Notepad – поскольку txt-файлы, по умолчанию, ассоциированы с этим приложением Windows.
Удаление одного или нескольких файлов в командной строке Windows осуществляется равноценными по действию командами DEL и ERASE (пример 2.20). Для реализации примера необходимо создать в Notepad текстовый файл (скажем, ERROR.TXT) и размесить его в своем рабочем каталоге (в примерах практикума – это каталог D:\WINLAB).
Пример 2.20. Удаление файла(необязательнотекстового) d:\WINLAB>dir /b
error.txt papa
d:\WINLAB>erase error.txt d:\WINLAB>dir /b
papa d:\WINLAB>
В общем случае команды DEL и ERASE имеют нижеследующий формат (далее по тексту формата: «имена» – список из одного или нескольких файлов или каталогов, если указан каталог, будут удалены все файлы в этом каталоге):
DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
/P – запрос подтверждения перед удалением каждого файла; /F – принудительное удаление файлов, только для чтения; /S – удаление указанных файлов из всех подкаталогов;
/Q – отключение запроса на подтверждение удаления файлов;
84
/A – отбор файлов для удаления по атрибутам: R – файлы, доступные только для чтения; S – системные файлы; H – Скрытые файлы; A – файлы, готовые для архивирования; I – файлы с неиндексированным содержимым; L – точки повторной обработки; префикс «-» имеет значение НЕ.
При включении расширенной обработки команд DEL и ERASE результаты вывода для ключа /S принимают обратный характер, т.е. выводятся только имена удаленных файлов, а не файлов, которые не удалось найти.
2.1.4. Копирование и перемещение файлов и директорий
Командный интерпретатор Cmd.exe предоставляет широкие возможности по редактированию файловой системы путем копирования, перемещения и переименования файлов и директорий с вложенными каталогами и файлами.
Команда COPY позволяет копировать один или несколько файлов из одной директории в другую, используя как абсолютные, так и относительные пути к файлам (в примере 2.21 считается, что дерево см. рис. 2.5 построено полностью).
Пример 2.21. Копирование файлов d:\WINLAB>tree papa /f D:\WINLAB\PAPA
├───incredible
│papa3.txt
│papa4.txt
└───math
├───strong
│papa1.txt └───study
papa2.txt
d:\WINLAB>copy papa\math\study\papa2.txt papa\math\strong
Скопировано файлов: |
1. |
d:\WINLAB>cd papa\math\strong |
|
d:\WINLAB\papa\math\strong>dir /b papa1.txt
papa2.txt
d:\WINLAB\papa\math\strong>copy ..\..\incredible
..\..\incredible\papa3.txt |
|
..\..\incredible\papa4.txt |
|
Скопировано файлов: |
2. |
d:\WINLAB\papa\math\strong>dir /b
85