Какая команда позволяет управлять потоком вывода на дисплей
Стандартные потоки ввода и вывода в Linux являются одним из наиболее распространенных средств для обмена информацией процессов, а перенаправление >, >> и | является одной из самых популярных конструкций командного интерпретатора.
В данной статье мы ознакомимся с возможностями перенаправления потоков ввода/вывода, используемых при работе файлами и командами.
Требования
Потоки
Стандартный ввод при работе пользователя в терминале передается через клавиатуру.
Стандартный вывод и стандартная ошибка отображаются на дисплее терминала пользователя в виде текста.
Ввод и вывод распределяется между тремя стандартными потоками:
- stdin — стандартный ввод (клавиатура),
- stdout — стандартный вывод (экран),
- stderr — стандартная ошибка (вывод ошибок на экран).
Потоки также пронумерованы:
- stdin — 0,
- stdout — 1,
- stderr — 2.
Из стандартного ввода команда может только считывать данные, а два других потока могут использоваться только для записи. Данные выводятся на экран и считываются с клавиатуры, так как стандартные потоки по умолчанию ассоциированы с терминалом пользователя. Потоки можно подключать к чему угодно: к файлам, программам и даже устройствам. В командном интерпретаторе bash такая операция называется перенаправлением:
Стандартный ввод
Стандартный входной поток обычно переносит данные от пользователя к программе. Программы, которые предполагают стандартный ввод, обычно получают входные данные от устройства типа клавиатура. Стандартный ввод прекращается по достижении EOF (конец файла), который указывает на то, что данных для чтения больше нет.
EOF вводится нажатием сочетания клавиш Ctrl+D.
Рассмотрим работу со стандартным выводом на примере команды cat (от CONCATENATE, в переводе «связать» или «объединить что-то»).
Cat обычно используется для объединения содержимого двух файлов.
Cat отправляет полученные входные данные на дисплей терминала в качестве стандартного вывода и останавливается после того как получает EOF.
Пример
В открывшейся строке введите, например, 1 и нажмите клавишу Enter. На дисплей выводится 1. Введите a и нажмите клавишу Enter. На дисплей выводится a.
Дисплей терминала выглядит следующим образом:
Для завершения ввода данных следует нажать сочетание клавиш Ctrl + D.
Стандартный вывод
Стандартный вывод записывает данные, сгенерированные программой. Когда стандартный выходной поток не перенаправляется в какой-либо файл, он выводит текст на дисплей терминала.
При использовании без каких-либо дополнительных опций, команда echo выводит на экран любой аргумент, который передается ему в командной строке:
Аргументом является то, что получено программой, в результате на дисплей терминала будет выведено:
При выполнении echo без каких-либо аргументов, возвращается пустая строка.
Пример
Команда объединяет три файла: file1, file2 и file3 в один файл bigfile:
Команда cat по очереди выводит содержимое файлов, перечисленных в качестве параметров на стандартный поток вывода. Стандартный поток вывода перенаправлен в файл bigfile.
Стандартная ошибка
Стандартная ошибка записывает ошибки, возникающие в ходе исполнения программы. Как и в случае стандартного вывода, по умолчанию этот поток выводится на терминал дисплея.
Пример
Рассмотрим пример стандартной ошибки с помощью команды ls, которая выводит список содержимого каталогов.
При запуске без аргументов ls выводит содержимое в пределах текущего каталога.
Введем команду ls с каталогом % в качестве аргумента:
В результате должно выводиться содержимое соответствующей папки. Но так как каталога % не существует, на дисплей терминала будет выведен следующий текст стандартной ошибки:
Перенаправление потока
Linux включает в себя команды перенаправления для каждого потока.
Команды со знаками > или < означают перезапись существующего содержимого файла:
Команды со знаками >> или << не перезаписывают существующее содержимое файла, а присоединяют данные к нему:
- >> — стандартный вывод,
- << — стандартный ввод,
- 2>> — стандартная ошибка.
Пример
В приведенном примере команда cat используется для записи в файл file1, который создается в результате цикла:
Для завершения цикла нажмите сочетание клавиш Ctrl + D.
Если файла file1 не существует, то в текущем каталоге создается новый файл с таким именем.
Для просмотра содержимого файла file1 введите команду:
В результате на дисплей терминала должно быть выведено следующее:
Для перезаписи содержимого файла введите следующее:
Для завершения цикла нажмите сочетание клавиш Ctrl + D.
В результате на дисплей терминала должно быть выведено следующее:
Предыдущего текста в текущем файле больше не существует, так как содержимое файла было переписано командой >.
Для добавления нового текста к уже существующему в файле с помощью двойных скобок >> выполните команду:
Для завершения цикла нажмите сочетание клавиш Ctrl + D.
Откройте file1 снова и в результате на дисплее монитора должно быть отражено следующее:
Каналы
Каналы используются для перенаправления потока из одной программы в другую. Стандартный вывод данных после выполнения одной команды перенаправляется в другую через канал. Данные первой программы, которые получает вторая программа, не будут отображаться. На дисплей терминала будут выведены только отфильтрованные данные, возвращаемые второй командой.
Пример
В результате каждый файл текущего каталога будет размещен на новой строке:
Перенаправлять данные с помощью каналов можно как из одной команды в другую, так и из одного файла к другому, а перенаправление с помощью > и >> возможно только для перенаправления данных в файлах.
Пример
При использовании нескольких фильтров в одной команде рекомендуется разделять их с помощью знака канала |.
Фильтры
Фильтры представляют собой стандартные команды Linux, которые могут быть использованы без каналов:
- find — возвращает файлы с именами, которые соответствуют передаваемому аргументу.
- grep — возвращает только строки, содержащие (или не содержащие) заданное регулярное выражение.
- tee — перенаправляет стандартный ввод как стандартный вывод и один или несколько файлов.
- tr — находит и заменяет одну строку другой.
- wc — подсчитывает символы, линии и слова.
Как правило, все нижеприведенные команды работают как фильтры, если у них нет аргументов (опции могут быть):
Если в качестве аргумента передается файл, команда-фильтр считывает данные из этого файла, а не со стандартного потока ввода (есть исключения, например, команда tr, обрабатывающая данные, поступающие исключительно через стандартный поток ввода).
Пример
Команда tee, как правило, используется для просмотра выводимого содержимого при одновременном сохранении его в файл.
Пример
Допускается перенаправление нескольких потоков в один файл:
Для просмотра содержимого файла file3 введите команду cat:
В результате на дисплее терминала отобразиться следующее:
Заключение
Мы рассмотрели возможности работы с перенаправлениями потоков >, >> и |, использование которых позволяет лучше работать с bash-скриптами.
Пакетные файлы поддерживают операторы if,goto и for (в системах семейства Windows NT его возможности существенно расширены), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного —1 или большее значение).
2.2.1Оператор ECHO позволяет управлять потоком вывода на дисплей:
ECHO OFF блокирует выдачу на экран приглашений MS-DOS и текстов команд.
ECHO ON отменяет действие ECHO OFF.
ECHO позволяет вывести текст при заблокированной выдаче.
Оператор REN позволяет внести комментарий в текст командного файла. Строка после REN не анализируется командным процессором.
2.2.3 Оператор GOTO позволяет передавать управление на метку и может использоваться самостоятельно либо совместно с оператором проверки условия IF. Метка в пакетных файлах занимает отдельную строку и отличается тем, что ее первый символ - двоеточие (:).
2.2.4 ОператорIF позволяет проверить условие и выполнить команду в зависимости от результата его проверки. В качестве условия может выступать:
-строка1==-строка2 (например, -%1==-Петров)
EXIST имя файла (условие ИСТИНА, когда файл существует)
NOT EXIST имя файла (условие ИСТИНА, когда файл не существует)
· Проверка кода завершения программы, срабатывающей перед оператором IF (сформированного специальным прерыванием):
IF ERRORLEVEL < команда >
Условие считается выполненным, если выработанный код завершения больше или равен N.
· Проверка наличия файла:
IF EXIST < имя или шаблон файла > < команда cmd>
Условие считается выполненным при обнаружении файла.
· Сравнение двух строк, которые могут быть заданы и через формальные параметры:
IF%==< текстовая строка > < команда cmd>
При абсолютном совпадении двух строк условие считается выполненным.
Любое из этих условий может задаваться со знаком логического отрицания NOT.
2.2.5 Оператор FOR обеспечивает циклическое выполнение команд MS-DOS. При этом можно задавать формальный параметр и список фактических параметров ( обычно - имен файлов ), которые последовательно подставляются в текст исполняемой команды вместо формального параметра. Формат команды:
FOR < формальный параметр > IN (< список фактических параметров >) DO < команда MS-DOS >.
FOR % IN (PAS OBJ EXE) DO COPY PROG.%A D:
вызывает копирование на диск D: трех файлов с именем PROG и расширениями PAS, OBJ, EXE.
2.2.6 Оператор SHIFT вызывает сдвиг формальных параметров относительно списка фактических. Так, после него первым (%1) формальным параметром становится фактический второй и т.д. Команда SHIFT может применяться для последовательной обработки заранее не определенного количества параметров либо для обработки более 9 фактических параметров ( т.к. максимальный номер формального параметра %9).
3 Задание к работе:
Создание пакетного файла для копирования
3.1.1 Создайте в вашем домашнем каталоге файл 1.txt, который содержит справочную информацию о команде if
3.1.2 Просмотрите содержимое созданного файла
3.1.3Создайте пакетный файлzad1.bat
if exist 1.txt ^
copy 1.txt E:\
Echo All Copy
Pause
3.1.4 Выполните созданный пакетный файл.
3.2 Создание пакетного файла для вычисления значения выражения
3.2.1Создайте командный пакетный файл zad2.batдля вычисления значения выражения:
Под вводом-выводом в программировании понимается процесс обмена информацией между оперативной памятью и внешними устройствами: клавиатурой, дисплеем, магнитными накопителями и т. п. Ввод — это занесение информации с внешних устройств в оперативную память, а вывод — вынос информации из оперативной памяти на внешние устройства. Такие устройства, как дисплей и принтер, предназначены только для вывода; клавиатура — устройство ввода. Магнитные накопители (диски, ленты) используются как для ввода, так и для вывода.
Основным понятием, связанным с информацией на внешних устройствах ЭВМ, является понятие файла. Всякая операция ввода-вывода трактуется как операция обмена с файлами: ввод — это чтение из файла в оперативную память; вывод — запись информации из оперативной памяти в файл. Поэтому вопрос об организации в языке программирования ввода-вывода сводится к вопросу об организации работы с файлами.
Внутренний файл — это переменная файлового типа, являющаяся структурированной величиной. Элементы файловой переменной могут иметь разный тип и, соответственно, разную длину и форму внутреннего представления. Внутренний файл связывается с внешним (физическим) файлом с помощью стандартной процедуры Assign. Один элемент файловой переменной становится отдельной записью во внешнем файле и может быть прочитан или записан с помощью одной команды. Попытка записать в файл или прочитать из него величину, не совпадающую по типу с типом элементов файла, приводит к ошибке.
Аналогом понятия внутреннего файла в языках Си/Си++ является понятие потока. Поток — это байтовая последовательность, передаваемая в процессе ввода-вывода.
Поток должен быть связан с каким-либо внешним устройством или файлом на диске. В терминологии Си это звучит так; поток должен быть направлен на какое-то устройство или файл.
Основные отличия файлов в Си состоят в следующем: здесь отсутствует понятие типа файла и, следовательно, фиксированной структуры записи файла. Любой файл рассматривается как байтовая последовательность:
Стрелочкой обозначен указатель файла, определяющий текущий байт файла. EOF является стандартной константой — признаком конца файла.
Существуют стандартные потоки и потоки, объявляемые в программе. Последние обычно связываются с файлами на диске, создаваемыми программистом. Стандартные потоки назначаются и открываются системой автоматически. С началом работы любой программы открываются 5 стандартных потоков, из которых основными являются следующие:
o stdin — поток стандартного ввода (обычно связан с клавиатурой);
o stdout — поток стандартного вывода (обычно связан с дисплеем);
Кроме этого, открывается поток для стандартной печати и дополнительный поток для последовательного порта.
Работа с файлами на диске. Работа с дисковым файлом начинается с объявления указателя на поток. Формат такого объявления:
Слово file является стандартным именем структурного типа, объявленного в заголовочном файле stdio.h. В структуре file содержится информация, с помощью которой ведется работа с потоком, в частности: указатель на буфер, указатель (индикатор) текущей позиции в потоке и т.д.
Следующий шаг — открытие потока, которое производится с помощью стандартной функции fopen (). Эта функция возвращает конкретное значение для указателя на поток и поэтому ее значение присваивается объявленному ранее указателю. Соответствующий оператор имеет формат:
Имя_указателя=fореn (“имя_файла”, “режим_открытия”) ;
Параметры функции fopen () являются строками, которые могут быть как константами, так и указателями на символьные массивы. Например:
Здесь test .dat — это имя физического файла в текущем каталоге диска, с которым теперь будет связан поток с указателем fр. Параметр режима r означает, что файл открыт для чтения. Что касается терминологии, то допустимо употреблять как выражение «открытие потока», так и выражение «открытие файла».
Существуют следующие режимы открытия потока и соответствующие им параметры:
r открыть для чтения
w создать для записи
а открыть для добавления
r+ открыть для чтения и записи
w+ создать для чтения и записи
а+ открыть для добавления или
создать для чтения и записи
Поток может быть открыт либо для текстового, либо для двоичного (бинарного) режима обмена.
Понятие текстового файла: это последовательность символов, которая делится на строки специальными кодами — возврат каретки (код 13) и перевод строки (код 10). Если файл открыт в текстовом режиме, то при чтении из такого файла комбинация символов «возврат каретки — перевод строки» преобразуется в один символ \n — переход к новой строке.
При записи в файл осуществляется обратное преобразование. При работе с двоичным файлом никаких преобразований символов не происходит, т.е. информация переносится без всяких изменений.
Указанные выше параметры режимов открывают текстовые файлы. Если требуется указать на двоичный файл, то к параметру добавляется буква b. Например: rb, или « b », или r +b. В некоторых компиляторах текстовый режим обмена обозначается буквой t, т.е. записывается a+t или rt.
Если при открытии потока по какой-либо причине возникла ошибка, то функция fopen() возвращает значение константы null. Эта константа также определена в файле stdio.h. Ошибка может возникнуть из-за отсутствия открываемого файла на диске, нехватки места в динамической памяти и т.п. Поэтому желательно контролировать правильность прохождения процедуры открытия файла. Рекомендуется следующий способ открытия:
if (fp=fopen("test.dat", "r")==NULL)
В случае ошибки программа завершит выполнение с закрытием всех ранее открытых файлов.
Закрытие потока (файла) осуществляет функция fclose(), прототип которой имеет вид:
int fclose(FILE *fptr);
Здесь fptr обозначает формальное имя указателя на закрываемый поток. Функция возвращает ноль, если операция закрытия прошла успешно. Другая величина означает ошибку.
Запись и чтение символов. Запись символов в поток производится функцией putc() с прототипом
int putc (int ch, FILE *fptr);
Если операция прошла успешно, то возвращается записанный символ. В случае ошибки возвращается константа EOF.
Считывание символа из потока, открытого для чтения, производится функцией gets () с прототипом
int gets (FILE *fptr);
Функция возвращает значение считываемого из файла символа. Если достигнут конец файла, то возвращается значение EOF. Заметим, что это происходит лишь в результате чтения кода EOF.
Исторически сложилось так, что gets() возвращает значение типа int. To же можно сказать и про аргумент ch в описании функции puts(). Используется же в обоих случаях только младший байт. Поэтому обмен при обращении может происходить и с переменными типа char.
Пример 1. Составим программу записи в файл символьной последовательности, вводимой с клавиатуры. Пусть признаком завершения ввода будет символ *.
Назначение и процесс создания, запуска пакетных файлов, настройка интерфейса командной строки. Редактирование текста в окне командной строки. Восстановление системы через командную строку. Рассмотрение операторов, использующихся в командных файлах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 20.03.2015 |
Размер файла | 20,7 K |
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Интерфейс командной строки ОС Windows. Работа с пакетными файлами
Цель работы: научиться настраивать интерфейс командной строки, изучит назначение и процесс создания, запуска пакетных файлов.
Настройка окна командной строки.
Чтобы настроить командную строку, выполните следующие действия.
1. Откройте окно командной строки.
2. Щелкните левый верхний угол окна и выберите команду Свойства.
3. Выберите вкладку Общие.
4. В области Запоминание команд выберите или введите значение 999 в поле Размер буфера, а затем выберите или введите значение 5 в поле Количество буферов.
5. В области Редактированиеустановите флажки Выделение и Быстрая вставка.
6. Выберите вкладку Расположение.
7. В области Размер буфера экрана введите или выберите значение 2500 в поле Высота.
8. Выполните одно из следующих действий по выбору.
- В области Размер буфера экрана увеличьте значение параметра Ширина.
- В области Размер окна увеличьте значение параметра Высота.
- В области Размер окна увеличьте значение параметра Ширина.
9. Снимите флажок Автоматический выбор, а затем в области Положение окна измените значения полей Левый край и Верхний край.
10. В диалоговом окне Изменение свойств выберите вариант Сохранить свойства для других окон с тем же именем.
Чтобы открыть окно Свойства -> Командная строка с помощью клавиатуры, нажмите клавиши ALT+ ПРОБЕЛ +Й.
Флажок Выделение мышью позволяет копировать и вставлять данные в окне командной строки. Чтобы скопировать, выделите левой кнопкой мыши текст в окне командной строки и нажмите правую кнопку мыши. Чтобы выполнить вставку в командную строку или текстовый файл, щелкните правой кнопкой мыши.
Увеличение размера буфера экрана до 999 позволяет выполнять прокрутку в окне командной строки.
Увеличение количества буферов до пяти увеличивает число строк в окне командной строки до 5000.
Редактирование текста в окне командной строки
Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут.
Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Изменить. Или же просто щелкните правой кнопкой по окну.
Для копирования текста из окна выберите пункт Пометить и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Копировать. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Вставить.
Для повторного выполнения команды воспользуйтесь стрелками "вверх" и "вниз", позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls.
Как закрыть окно командной строки
Для того чтобы закрыть консоль командной строки, необходимо выполнить команду exit.
Восстановление системы через командную строку
Для того, чтобы запустить восстановление системы из командной строки, необходимо войти в Windows в безопасном режиме с поддержкой командной строки. Для этого, во время загрузки операционной системы, до появления логотипа Windows, нужно нажать клавишу F8. По нажатию этой клавиши появляется меню выбора варианта загрузки. После этого необходимо войти в систему с учетной записи Администратора и открыть командную строку. Вводим команду rstrui.exe и нажимаем клавишу Enter. Важно отметить, что запустив восстановление системы из безопасного режима, отменить его, то есть вернуться к первоначальному состоянию Windows, будет уже невозможно. Тем не менее, у пользователя остается возможность запустить восстановление системы еще раз и выбрать иную точку восстановления.
Пакетные файлы имеют расширение.BAT и считаются особой категорией исполняемых программ. То есть, операционная система делает возможным запись последовательности команд в пакетный файл. Представляет он из себя набор команд. Использовать в пакетных файлах можно любые команды из операционной системы, а так же существуют специальные команды только для использования их в пакетных файлах.
1. вызовы других пакетных файлов;
2. специальные команды для управления выдачей на экран;
3. обращения к исполнимым программам;
4. специальные команды для организации ветвлений и циклов;
В пакетных файлах могут фигурировать команды, которые предназначаются для того, чтобы создавать нетривиальные управляющие последовательности.
Одно из самых важных свойств пакетных файлов - это возможность автоматизировать выполнение заданий, без вмешательства пользователей. Выполнены bat команды могут быть практически на любой стадии установки Windows.
Вообще в пакетный файл можно поставить любую команду, а некоторые из них, например, goto и for дают возможность выполнить обработку в пакетных файлах условиях. Таким образом, команда if дает возможность управлять, как вводом, так и выводом и запускать некоторые другие bat файлы.
Особое значение имеет файл autoexec.bat он предназначен для начальной настройки операционной среды при запуске.
Можно сделать самостоятельно несложный пакетный файл. Для этого необходимо открыть блокнот и скопировать в него текст, приведенный ниже:
title Batch File Testing
echo Hello World
echo Starting Notepad
echo Starting Wordpad
Далее нужно сохранить файл, подписав его в любым именем. Главное, назначить расширение “cmd” или “bat”. Далее необходимо запустить файл и он назначит окну имя "Batch File Testing", самостоятельно откроет WordPad и Блокнот и попросит нажать любую клавишу, после чего закроет окно.
Используются пакетные файлы программистами для выполнения различных операций, которые очень часто встречаются в повседневной работе. К самым популярным можно отнести работу с реестром, резервное копирование папок и файлов по заданному интервалу времени, их переименование, удаление, фоновую печать и много другое. Удобен автозапуск по расписанию при архивации, копировании, сканировании против вирусов и так далее.
Для выполнения пакетным файлом многих системных действий нужно запускать файл с правами администратора.
Рассмотрим операторы, которые используются только в командных файлах
командный файл интерфейс строка
Оператор ECHO позволяет управлять потоком вывода на дисплей:
ECHO OFF блокирует выдачу на экран приглашений MS-DOS и текстов команд.
ECHO ON отменяет действие ECHO OFF.
ECHO позволяет вывести текст при заблокированной выдаче.
Оператор REN позволяет внести комментарий в текст командного файла. Строка после REN не анализируется командным процессором.
Оператор GOTO позволяет передавать управление на метку и может использоваться самостоятельно либо совместно с оператором проверки условия IF. Метка в пакетных файлах занимает отдельную строку и отличается тем, что ее первый символ - двоеточие (:).
Оператор IF позволяет проверить условие и выполнить команду в зависимости от результата его проверки. В качестве условия может выступать:
1. Проверка кода завершения программы, срабатывающей перед оператором IF ( сформированного специальным прерыванием MS-DOS ):
IF ERRORLEVEL < команда MS-DOS >
Условие считается выполненным, если выработанный код завершения больше или равен N.
2. Проверка наличия файла:
IF EXIST < имя или шаблон файла > < команда MS-DOS >
Условие считается выполненным при обнаружении файла.
3. Сравнение двух строк, которые могут быть заданы и через формальные параметры:
IF %==< текстовая строка > < команда MS-DOS >
При абсолютном совпадении двух строк условие считается выполненным.
Любое из этих условий может задаваться со знаком логического отрицания NOT.
Оператор FOR обеспечивает циклическое выполнение команд MS-DOS. При этом можно задавать формальный параметр и список фактических параметров ( обычно - имен файлов ), которые последовательно подставляются в текст исполняемой команды вместо формального параметра. Формат команды:
FOR < формальный параметр > IN (< список фактических параметров >) DO < команда MS-DOS >.
FOR % IN (PAS OBJ EXE) DO COPY PROG.%A D:
вызывает копирование на диск D: трех файлов с именем PROG и расширениями PAS, OBJ, EXE.
Оператор SHIFT вызывает сдвиг формальных параметров относительно списка фактических. Так, после него первым (%1) формальным параметром становится фактический второй и т.д. Команда SHIFT может применяться для последовательной обработки заранее не определенного количества параметров либо для обработки более 9 фактических параметров ( т.к. максимальный номер формального параметра %9).
Оператор COMMAND позволяет вызывать новую копию командного процессора. При помощи этого оператора возможно выполнение рекурсивных вызовов командных файлов с возвратом. Так, команда COMMAND /C V вызовет обработку командного файла V.BAT, которая будет продолжаться до тех пор, пока в нем не закончатся операторы или не встретится оператор возврата EXIT. По этому оператору продолжится обработка вызывающего командного файла.
Перенаправление создаётся символами > или >>.
echo Сегодня %date% > today.txt
создаст в текущей папке файл с именем today.txt и содержимым «Сегодня 22.10.2009»
Отличие перенаправления через > от >> в том, что > всегда создаёт новый файл, даже если файл с таким именем уже существовал (в таком случае содержимое существовавшего файла будет потеряно). Перенаправление через >> допишет данные в конец файла, если он существует или создаст новый файл.
Команда copy также имеет возможность соединения файлов. Для этого в качестве источника нужно указать два и более файлов через знак +
Например команда: copy file1.txt+file2.txt result_file.txt объединит файлы file1.txt и file2.txt в файл с именем result_file.txt. После выполнения всех команд в пакетном файле -- запущеная консоль автоматически закрывается. Для приостановления выполнения команд до нажатия любой клавиши используется команда pause.
Для проверки существования файла используется конструкция:
if exist <имя фала> (
команды выполняемые в случае существования>
команды выполняемые в случае отсутствия файла>
Как создать папку из bat файла
Для создания папки используется команда MKDIR или ее сокращенный аналог MD. Для создания папки из bat файла нужно использовать следующую команду:
После выполнения такой команды будет создана папка FolderName в папке, откуда запущен bat файл. Чтобы создать файл в отличном от запуска bat файла месте, например в корне диска D, используйте явное указание расположения новой папки. Команда будет выглядеть так:
При создании папок можно пользоваться системными переменными. Например, можно создать в корне диска D папку с именем текущего пользователя. Для этого понадобится переменная %USERNAME%, а команда будет выглядеть следующим образом:
Можно еще более усложнить команду и создать папку с именем текущего пользователя на системном диске его компьютера. Команда для этого будет выглядеть так:
При создании папок или файлов можно использовать любые системные переменные или их части. Следующий пример демонстрирует создание на системном диске компьютера пользователя папки с именем равным текущей дате.
Эта конструкция работает следующим образом.
Первая команда создает в памяти переменную datetemp, которая будет уничтожена по окончании работы bat файла. То тех пор, пока bat файл не закончил свою работу есть возможность оперировать со значением этой переменной. Переменной datetemp присваивается 10 символов справа налево от системной переменной DATE, т.е. от текущей даты. Переменная DATE имеет формат Дн ДД.ММ.ГГГГ. Первые символы слева - имя дня недели и поэтому мы их отбрасываем и присваиваем временной переменной datetemp только текущую дату.
Этим не ограничивается список возможностей при создании папок. Вы можете опрерировать переменными так, как удобно Вам, создавая папки с уникальными, легко читаемыми названиями. Получить список всех переменных можно при помощи команды SET.
Пример: командный файл lesson0.bat
ECHO Xarakteristika grupppi
REM Проверяем введенный параметр - это Петров? если да, идем на метку P
IF -%1==-Petrov GOTO P
REM Проверяем введенный параметр - это Иванов? если да, идем на метку I
IF -%1==-Ivanov GOTO I
REM Если ни Иванов, ни Петров, то идем в конец файла
REM Выводим характеристику Петрова
REM Выводим характеристику Иванова
REM Конец командного файла
Порядок выполнения работы
Создайте пакетный файл для выполнения следующих действий:
1. Отключить вывод выполняемых команд на экран
2. Создать на диске D папку с именем вашей группы
3. В папке с именем группы создать папку с именем lab2
4. В папке lab2 создать файл students.txt с фамилиями студентов выполняющих работу
5. В папке lab2 создать файл datestamp.txt с текущей датой. (дату внести при помощи переменной)
6. Объединить файлы students.txt и datestamp.txt в файл lab2_result.txt
8. Создать копию папки lab2 c именем lab2_backup
10.Приостановить выполнение команд до нажатия любой клавиши
11. Удалить все созданные файлы и папки
13.Приостановить выполнение команд до нажатия любой клавиши
1) Создать командный файл, при вызове которого указывается марка автомобиля. Каждой такой марке сопоставить максимальную скорость и вывести её на экран. Если такой марки нет, то вывести "Не существует, Вы ошиблись".
2) Создать командный файл, который выполнял следующие действия: при вызове с параметром 1 - создавал каталог NEW, с параметром 2 - выводил информацию о текущем каталоге, с параметром 3 - информацию о версии системы, с любым другим параметром - фразу "такая команда не определена".
3) Создать командный файл, при вызове которого указываются фамилии двух студентов. Если первый Иванов, то вывести фразу "В классе будет шумно", если второй Петров, то вывести фразу "В аудитории будет гам". Если первый Иванов и второй Петров, то вывести фразу "Аудитории вообще не будет". Если их нет, то вывести фразу "Все спокойно".
4)Создать командный файл, с помощью команды PAUSE реализовать следующие действия: вывести на экран "Отформатировать диск С:\? Да/Нет" и дождаться реакции пользователя, после любого действия пользователя вывести на экран "Вы точно хотите отформатировать диск С:\ ? Да/Нет" и дождаться реакции пользователя, далее вывести "Диск С:\ - отформатирован. До встречи."
Подобные документы
Понятие и использование командной строки. Открытие командной строки. Команды, выполняемые с помощью командной строки. Как выполнить команду с повышенными привилегиями. Изменение внешнего вида окна командной строки с помощью параметров командной строки.
презентация [948,2 K], добавлен 22.10.2014
Хабовая архитектура системных плат. Интерфейс командной строки Unix System V. Структура командной строки интерпретаторов sh и ksh. Системные, процессы-демоны и прикладные процессы. Способы порождения и запуска "демонов". Работа с сигналами UNIX.
реферат [149,5 K], добавлен 11.05.2012
Windows XP - универсальная операционная система семейства Windows NT, ее модификации. Средства, включенные в состав ОС как стандартные компоненты. Системные требования ОС к аппаратным ресурсам. Графический интерфейс пользователя и командной строки.
контрольная работа [22,2 K], добавлен 19.12.2011
Описание общих функций сетевого уровня модели OSI: протоколирование, маршрутизация и логическая адресация. Изучение принципов работы сетевого протокола TCP/IP и сетевых утилит командной строки. Адрес локальной сети и определение класса сети Интернет.
презентация [412,7 K], добавлен 05.12.2013
Правила назначения IP адресов. Создание логической топологии. Использование программного обеспечения Cisco Packet Tracer. Настройка сетевого оборудования с использованием графического интерфейса и интерфейс командной строки. Маркировка компонентов сети.
Читайте также: