Главная » 2015 » Август » 13 » Как использовать язык пакетных файлов Microsoft
23:35
Как использовать язык пакетных файлов Microsoft

Как использовать язык пакетных файлов Microsoft

Пакетные файлы - это команды DOS упакованные вместе. В Unix-подобных системах они известны как shell-скрипты и используют совершенно другой синтаксис. Пользователям ранних версий Windows нужно было использовать пакетные файлы (autoexec.bat), чтобы назначить букву диска для CD-ROM, что, в свою очередь, было необходимо для установки Windows. Теперь пакетные файлы не так важны, однако они поддерживаются более новыми версиями Windows.


В Windows XP/2000+, пакетные файлы (*.bat) выполняются в специальном окне (так называемая Командная Строка), которое создано программой c:windowssystem32cmd.exe (или command.com в некоторых случаях). Команды можно вводить по одной, а можно перечислить последовательно в файле, для чего и нужен язык пакетных файлов. В этой статье мы расскажем, как создавать и запускать пакетные файлы и в качестве примера приведем простой скрипт для резервного копирования.

Шаги

  1. 1 Откройте текстовый редактор. Вы будете нажимать кнопки A-Z/0-9/, символы (!$| и т.д.) и Enter. Большинство команд не обращают внимания на верхний/нижний регистр, поэтому не беспокойтесь о CAPS LOCK (или даже CaPs LoCk). Каждая команда с ее параметрами начинается с новой строки. Откройте командную строку (cmd.exe), чтобы проверять команды. Передвиньте окна так, чтобы вы могли видеть, одновременно, командную строку и текстовый редактор.
Создайте пакетный файл
  1. 1 В этой секции мы проведем вас за ручку через весь процесс создания пакетного файла. Если вы хотите сразу посмотреть на готовый скрипт, просто прокрутите вниз до соответствующей секции.

Обычно начинают командой <@echo off>, так как она предотвращает вывод выполняемых команд и, тем самым, уменьшает количество ненужной информации на экране. Наберите:

@echo off

Нажмите Enter. Нажимайте Enter после ввода каждой команды. Теперь давайте поприветствуем пользователя. Наберите:

echo Вас приветствует скрипт резервного копирования!

Не забыли нажать Enter? Отлично. Теперь выведем пустую строку, чтобы выделить заголовок. Наберите:

echo.

И снова Enter, конечно же. Теперь займемся делом. Наберите:

choice /C:FNQ /N Выберите [F] - Полное копирование или [N] - Только новых файлов. Нажмите [Q] или [CTRL-Z] для выхода.

Это дает пользователю выбор. Он может нажать F или N, или же Q или CRTL-Z, что отменит выполнение скрипта. Теперь напишем команды для каждого варианта. Наберите:

IF errorlevel 3 goto end IF errorlevel 2 goto small_backup IF errorlevel 1 goto full_backup

Пошла работа! Если пользователь нажмет Q, программа вернет "3" и перейдет к секции "end"(конец). Если же он нажмет N, программа вернет "2"и перейдет к секции "small_backup"(маленькое резервное копирование). И наконец, если он нажмет F, программа вернет "1" и перейдет к секции "full_backup"(полное резервное копирование). "Errorlevel" это собственно не ошибка, а просто такой способ получить ответ команды CHOICE.

#Создадим секции о которых мы говорили выше. Наберите:

 :small_backup echo. echo. echo Вы выбрали копирование только НОВЫХ файлов. Нажмите любую кнопку, чтобы продолжить или ctrl-z для выхода.
pause >nul
xcopy c:mydirectory d:mybackup /s/m/e
goto end  :full_backup echo. echo. echo Вы выбрали копирование ВСЕХ файлов. Нажмите любую кнопку, чтобы продолжить или ctrl-z для выхода.
pause >nul
xcopy c:mydirectory d:mybackup /s/e

goto end

 :end exit

Предложение: Создайте директории, упомянутые выше, и скопируйте в них несколько тестовых файлов. Позже вы можете поменять эти имена на настоящие, Мои документы, например.

# Вот и все! В Блокноте, сохраните файл под <mybackup.bat>, а затем дважды щелкните по нему мышкой.

Полный код пакетного файла
  1. 1Попрактикуйтесь в копировании и вставке текста на этом коде:

@echo off echo Вас приветствует скрипт резервного копирования!
echo.
choice /C:FN /N Выберите [F] - Полное копирование или [N] - Только новых файлов. Нажмите [Q] или [CTRL-Z] для выхода.
IF errorlevel 3 goto end
IF errorlevel 2 goto small_backup
IF errorlevel 1 goto full_backup
:small_backup
echo.
echo.
echo Вы выбрали копирование только НОВЫХ файлов. Нажмите любую кнопку, чтобы продолжить или ctrl-z для выхода.
pause >nul
xcopy c:mydirectory d:mybackup /s/m/e
goto end
:full_backup
echo.
echo.
echo Вы выбрали копирование ВСЕХ файлов. Нажмите любую кнопку, чтобы продолжить или ctrl-z для выхода.
pause >nul
xcopy c:mydirectory d:mybackup /s/e
goto end
:end


exit

Краткая справка по синтаксису

  • ECHO → Вывод на экран.
    • примеры:
      • @echo off (отключает вывод на экран самих команд, выводится только их результат)
      • echo Hello. (выводит 'Hello.' @echo off на это не действует.)
      • echo. (выводит пустую линию)
  • CLS → Очистка экрана.
  • MKDIR → Создание директории.
    • пример:
      • mkdir d:ackup (создает директорию на диске D с именем backup).
  • XCOPY → Копирует файлы и папки.
    • примеры:
      • xcopy c: ile.txt d: ile.txt (копирует файл с диска C на диск D).
      • xcopy c:mydirectory d:mydirectory /i (параметр '/i' указывает на то, что если в пути к файлу нет расширения – это директория).
      • xcopy c:my documents*.* d:ackupmy documents /s /i (параметр '/s' указывает, что нужно копировать все поддиректории).
  • CHOICE → Считывает нажатую на клавиатуре клавишу (используется при создании меню).
    • пример:
      • choice /C:FN /N Выберите [F] - Полное копирование или [N] - Только новых файлов. (Дает пользователю выбор).
  • PAUSE → Приостанавливает выполнение пакетного файла до нажатия любой клавиши (кроме ctrl-z, эта комбинация прекращает выполнение).
    • пример:
      • echo Вы выбрали копирование только НОВЫХ файлов. Нажмите любую кнопку, чтобы продолжить или ctrl-z для выхода.
        pause >nul
  • REM → Превращает строку в комментарий, а комментарии игнорируются при выполнении.
    • пример:
      • REM format c: /u/q

Советы

  • Закрытые окна: Если вы хотите, чтобы окно скрипта закрылось после его завершения, оставьте все как есть. Если же вы хотите оставить окно открытым и вводить в нем другие команды, замените команду <exit> в последней секции на <cmd> - так окно останется открытым.
  • Текущая директория: Если программа обращается к файлам в той же директории, что и она сама, то вам не нужно указывать полный путь к файлу. Т.е. если пакетный файл находиться на диске C: вы можете обращаться к c: emp просто написав: : Xcopy temp*.* d: emp /s/m

Предупреждения

  • Хотя команды приведенные здесь безопасны, использование системных команд в пакетных файлах может привести к краху системы.
  • Команда CHOICE не включена ни в Windows XP Home ни в Professional и ее использование приведет к преждевременном завершению скрипта

Что вам понадобится

  • Текстовый редактор, например, Блокнот, или более продвинутый, например, HTML-Kit. Программы, которые включает в файл дополнительную информацию, например форматирование, не подходят (к ним относится и MS Word).
  • Командная строка. Нажмите <Пуск><Выполнить>, и наберите "cmd". Или найдите ее в подменю <Стандартные> Меню Пуск.
  • Несколько файлов для тестового резервного копирования. Начните с небольшой директории, с малым количеством файлов.
Категория: Вопросы и ответы | Просмотров: 405 | | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]