Ftp servers

  • 04 дек. 2012 г.
  • 2238 Слова
Синтаксис BAT-файлов и командная строка в

MS-DOS




BAT-файлы (файлы с расширением .bat, от английского batch - "пакетные") - это обычные текстовые файлы с набором инструкций командному процессору command.com для автоматического выполнения всех содержащихся в таком файле команд.
С помощью пакетных файлов возможно создание довольно мощных средств для облегчения выполнения трудоемкихопераций, например, копирования, создания больших архивов, проверки каких-либо внешних условий и условная обработка данных. Особенно широкий простор здесь открывается для тех, кто знает хотя бы один язык программирования - используя и свои программы, можно создавать прямо-таки гигантские программные комплексы.
При описании команд использовались принятые в DOS обозначения:
• - обязательный параметр.• [параметр] - необязательный параметер.
• | - оператор "или".
Все команды и операторы языка являются регистронезависимыми, то есть, команды echo off, ECHO OFF и EcHo oFf являются абсолютно идентичными.
[pic][pic][pic]




Перенаправление потоков ввода/вывода.

Перенаправление потоков в операционной системе позволяет, например, вывести результат работы программы не на экран, а вфайл или на принтер, а также использовать результаты работы одной программы в другой.
Для перенаправления потоков используются специальные символы командной строки:
• > - Переназначает вывод.
• < - Переназначает ввод.
• >> - Добавляет переназначенный вывод к существующим данным.
• | - Конвейер – вывод первой команды непосредственно на ввод другой.

Приведем пример. КомандаDIR>abc.txt
выведет результаты не на экран, а в файл abc.txt, предварительно создав или перезаписав его. В дальнейшем можно использовать его для более удобной обработки полученной информации (например, если список слишком большой).
DIR>>abc.txt
данная команда также запишет результат не на экран, а в файл abc.txt, но она не удалит его содержимое, а добавляет результат в конец файла. Если файлне существует, он будет создан.
DIR | MORE
Это пример использования результатов выполнения команды (piping) DIR фильтром MORE, который делает паузу после каждого экрана листинга. Еще один полезный пример:
ECHO Y | DEL *.*
Сама команда DEL *.* должна удалить все файлы в каталоге. Однако, она предусмотрительно запрашивает подтверждение на подобное действие. Для того, чтобы автоматически (например,из пакетного файла) удалять все файлы, мы используем передачу результатов выполнения команды ECHO Y, которая должна вывести символ Y, в команду DEL *.*, которой требуется один символ: Y или N. Похожее действие выполнит команда
program.exe COM2
пошлет на устройство на порте COM2 (например, на модем) команду ATDP 21435, то есть, набор номера 21435.
[pic][pic][pic]

@
Оператор @. позволяет невыводить следующую за ним команду на экран. Это аналог оператора ECHO OFF только для одной строки. Часто используется следующим образом в начале многих пакетных файлов:
@ECHO OFF
Это позволяет не выводить и саму запрещающую строку ECHO OFF при выполнении пакетных файлов.
[pic][pic][pic]

GOTO
Оператор GOTO осуществляет безусловный переход на метку внутри этого же файла. Метка обозначаетсяследующим образом:
:label
то есть, со знаком двоеточия в начале. Для перехода к такой метке будет служить команда
GOTO label
в любом месте BAT-файла.
[pic][pic][pic]

%
Как и в любом языке, в языке пакетных файлов возможно использование переменных. Всего может быть 10 одновременно существующих независимых переменных. Для написания сложных программ это довольно мало, хотя для обычной работы частохватает и 3-4. Значение переменной равно значению соответствующего параметра из командной строки. Переменная %0 будет содержать имя .bat-файла и, если вы указали, путь к нему. То есть, если вы запустили файл abc.bat со следующими параметрами:
abc.bat a bc def
то переменная %0 будет содержать значение abc.bat, %1 будет содержать значение a, %2 будет содержать bc, а %3 - def. Это...
tracking img