ОС Лаб.работа №5 (1069344), страница 2
Текст из файла (страница 2)
Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)6Если при выполнении команды возникает ошибка, то сообщение об этомпо умолчанию выводится на экран. В случае необходимости сообщения обошибках (стандартный поток ошибок) можно перенаправить в текстовый файлс помощью конструкциикоманда 2> имя_файлаТакже имеется возможность информационные сообщения и сообщенияоб ошибках выводить в один и тот же файл. Делается это следующим образом:команда > имя_файла 2>&1Например, в приведенной ниже команде стандартный выходной потоки стандартный поток ошибок перенаправляются в файл copy.txt:XCOPY C:\1.txt F: > copy.txt 2>&1C помощью конструкциикоманда1 | команда2можно использовать сообщения, выводимые первой командой, в качествевходных данных для второй команды (конвейер команд).Используямеханизмыперенаправленияввода/выводаиконвейеризации, можно из командной строки посылать информацию наразличные устройства и автоматизировать ответы на запросы, выдаваемыекомандами или программами, использующими стандартный ввод.Для решения таких задач предназначена команда ECHO [сообщение],которая выводит сообщение на экран.Примеры использования этой команды.Посылка символа прогона на принтер:ECHO ^L > PRNСоединение по телефону из командной строки (модем связан с портомCOM2):ECHO ATDT 1(123)555-1234 > COM22.1.3 Команды MORE и SORTОперационные системы.
Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)7Одной из наиболее часто использующихся команд, применяющейперенаправление ввода/вывода и конвейеризацию, является команда MORE.Этакомандасчитываетстандартныйвводизконвейераилиперенаправленного файла и выводит информацию частями, размер каждой изкоторых не больше размера экрана. Используется MORE обычно дляпросмотра длинных файлов.
Возможны три варианта синтаксиса этойкоманды:MORE [диск:][путь]имя_файлаMORE < [диск:][путь]имя_файлаимя_команды | MOREПараметр [диск:][путь]имя_файла определяет расположение и имяфайла с просматриваемыми на экране данными. Параметр имя_командызадает команду, вывод которой отображается на экране (например, DIR иликоманда TYPE, использующаяся для вывода содержимого текстового файлана экран).Примеры.Для поэкранного просмотра помощи команды DIR используется команда:DIR /? | MOREДля поэкранного просмотра текстового файла news.txt возможны следующиеварианты команд:MORE news.txtMORE < news.txtTYPE news.txt | MOREДругой распространенной командой, использующей перенаправлениеввода/вывода и конвейеризацию, является команда SORT.
Эта командаработает как фильтр: она считывает символы в заданном столбце,упорядочивает их в возрастающем или убывающем порядке и выводитотсортированную информацию в файл, на экран или другое устройство.Возможны два варианта синтаксиса этой команды:SORT [/R] [/+n] [[диск1:][путь1]файл1] [> [диск2:][путь2]файл2]Операционные системы. Лаб.работа №5 (ОС Windows.
Командная строка CMD.Командные файлы)8или[команда ] | SORT [/R] [/+n] [> [диск2:][путь2]файл2]В первом случае параметр [диск1:][путь1]файл1 определяет имя файла,который нужно отсортировать. Во втором случае будут отсортированывыходные данные указанной команды. Если параметры файл1 или команда незаданы, то SORT будет считывать данные с устройства стандартного ввода.Параметр [диск2:][путь2]файл2 задает файл, в который будетнаправляться сортированный вывод; если этот параметр не задан, то выводбудет направлен на устройство стандартного вывода.По умолчанию сортировка выполняется в порядке возрастания. Ключ /Rпозволяет изменить порядок сортировки на обратный (от Z к A и затем от 9 до0).
Например, для поэкранного просмотра отсортированного в обратномпорядке файла price.txt, нужно задать следующую команду:SORT /R < price.txt |MOREКлюч /+n задает сортировку в файле по символам n-го столбца.Например, /+10 означает, что сортировка должна осуществляться, начиная с10-й позиции в каждой строке. По умолчанию файл сортируется по первомустолбцу.2.1.4 Условное выполнение и группировка командВ командной строке Windows можно использовать специальныесимволы, которые позволяют вводить несколько команд одновременно иуправлять работой команд в зависимости от результатов их выполнения. Спомощью таких символов условной обработки можно содержание небольшогопакетного файла записать в одной строке и выполнить полученную составнуюкоманду.Используя символ амперсанда &, можно разделить несколько утилит водной командной строке, при этом они будут выполняться друг за другом.Например, если набрать команду DIR & PAUSE & COPY /? и нажать клавишу<Enter>, то вначале на экран будет выведено содержимое текущего каталога,Операционные системы.
Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)9а после нажатия любой клавиши – выведена встроенная справка командыCOPY.Символ ^ позволяет использовать командные символы как текст, то есть приэтом происходит игнорирование значения специальных символов.Например, если ввести в командной строкеECHO Абв & COPY /?и нажать клавишу <Enter>, то произойдет выполнение подряд двух команд:ECHO Абв и COPY /? (команда ECHO выводит на экран символы,указанные в командной строке после нее).После выполнения командыECHO Абв ^& COPY /?на экран будет выведено Абв & COPY /?ВэтомслучаепростовыполняетсяоднакомандаECHOссоответствующими параметрами.Условная обработка команд в Windows осуществляется с помощьюсимволов && и || следующим образом.
Двойной амперсанд && запускаеткоманду, стоящую за ним в командной строке, только в том случае, есликоманда, стоящая перед амперсандами была выполнена успешно. Например,если в корневом каталоге диска C: есть файл plan.txt, то выполнение командыTYPE C:\plan.txt && DIR приведет к выводу на экран этого файла исодержимого текущего каталога. Если же файл C:\plan.txt не существует, токоманда DIR выполняться не будет.Два символа || осуществляют в командной строке обратное действие, т.е.запускают команду, стоящую за этими символами, только в том случае, есликоманда, идущая перед ними, не была успешно выполнена. Таким образом,если в предыдущем примере файл C:\plan.txt будет отсутствовать, то врезультате выполнения строки TYPE C:\plan.txt || DIR на экран выведетсясодержимое текущего каталога.Условная обработка действует только на ближайшую команду, то есть вкомандеОперационные системы.
Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)10TYPE 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.2.2 Команды для работы с файловой системойФайловая система логически имеет древовидную структуру и имена файловзадаются в формате [диск:][путь\]имя_файла, то есть обязательнымпараметром является только имя файла.
При этом, если путь начинается ссимвола "\", то маршрут вычисляется от корневого каталога, иначе - оттекущего каталога.Например, имя C:123.txt задает файл 123.txt в текущем каталоге на диске C:,имя C:\123.txt - файл 123.txt в корневом каталоге на диске C:, имяABC\123.txt - файл 123.txt в подкаталоге ABC текущего каталога.Существуютособыеобозначениядлятекущегокаталогаиродительского каталога.
Текущий каталог обозначается символом . (точка),его родительский каталог - символами .. (две точки). Например, если текущимкаталогом является C:\WINDOWS, то путь к файлу explorer.exe в корневомкаталоге диска C: может быть записан в виде ..\explorer.exe.В именах файлов (но не дисков или каталогов) можно применять такназываемые групповые символы или шаблоны: ? (вопросительный знак) и *(звездочка). Символ * в имени файла означает произвольное количестволюбых допустимых символов, символ ? - один произвольный символ или егоотсутствие. Скажем, под шаблон text??1.txt подходят, например, именаОперационные системы.
Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)11text121.txt и text911.txt, под шаблон text*.txt — имена text.txt, textab12.txt, а подшаблон text.* - все файлы с именем text и произвольным расширением.Для того, чтобы использовать длинные имена файлов при работе скомандной строкой, их нужно заключать в двойные кавычки. Например, чтобызапустить файл с именем 'Мое приложение.exe' из каталога 'Мои документы',нужно в командной строке набрать "C:\Мои документы\Мое приложение.exe"и нажать клавишу <Enter>.2.2.1 Команда CDТекущий каталог можно изменить с помощью командыCD [диск:][путь\]Путь к требуемому каталогу указывается с учетом приведенных вышезамечаний.
Например, команда CD \ выполняет переход в корневой каталогтекущего диска. Если запустить команду CD без параметров, то на экран будутвыведены имена текущего диска и каталога.2.2.2 Команда COPYОдной из наиболее часто повторяющихся задач при работе с файлами являетсякопирование и перемещение файлов из одного места в другое. Длякопирования одного или нескольких файлов используется команда COPY.COPY [/A|/B] источник [/A|/B] [+ источник [/A|/B] [+ ...]] [результат[/A|/B]] [/V][/Y|/–Y]Таблица 1. Параметры и ключи команды COPYПараметр ОписаниеисточникИмя копируемого файла или файлов/AФайл является текстовым файлом ASCII, то есть конец файлаобозначается символом с кодом ASCII 26 (<Ctrl>+<Z>)/BФайл является двоичным.
Этот ключ указывает на то, чтоинтерпретатор команд должен при копировании считывать изОперационные системы. Лаб.работа №5 (ОС Windows. Командная строка CMD.Командные файлы)12источника число байт, заданное размером в каталогекопируемого файларезультатКаталог для размещения результата копирования и/или имясоздаваемого файлаПроверка правильности копирования путем сравнения файлов/Vпосле копирования/YОтключение режима запроса подтверждения на замену файлов/-YВключение режима запроса подтверждения на замену файловПримеры использования команды COPY.Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM подтем же именем:COPY abc.txt D:\PROGRAMКопирование файла abc.txt из текущего каталога в каталог D:\PROGRAM подновым именем def.txt:COPY abc.txt D:\PROGRAM\def.txtКопирование всех файлов с расширением txt с диска A: в каталог 'Моидокументы' на диске C:COPY A:\*.txt "C:\Мои документы"Если не задать в команде целевой файл, то команда COPY создаст копиюфайла-источника с тем же именем, датой и временем создания, что и исходныйфайл, и поместит новую копию в текущий каталог на текущем диске.Например, для того, чтобы скопировать все файлы из корневого каталогадиска C: в текущий каталог, достаточно выполнить команду:COPY C:\*.*В качестве источника или результата при копировании можно указыватьимена не только файлов, но и устройств компьютера.