Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Всё о работе в Интернет" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Секреты Windows: статьи о реестре, rundll32.exe, программах И снова пакетные файлы, часть 1
Итак, опрос 'Содержимое какой из книг вы бы хотели прочитать в будущих статьях на нашем сайте?' окончен. Наибольшее количество голосов получила книга Оптимизация и автоматизация работы на ПК. На 100%. Поэтому в скором времени вы сможете встретить содержимое этой книги на нашем сайте, а также в данной рассылке (только наиболее интересные части книги, которые относятся к теме рассылки). Другие наши рассылки:
Новости нашего сайта:
Данная статья была написана для журнала Мой компьютер. Операционная система Windows Vista поддерживает множество методов автоматизации часто выполняемых вами действий. В частности, к стандартным методам относятся пакетные файлы, inf-файлы, сервер сценариев Windows (WSH), а также инструментарий управления Windows (WMI). Кроме того, отдельно от операционной системы поставляется комплект PowerShell, обладающий огромной функциональностью. Но давайте все эти современные технологии оставим на какое-то ближайшее будущее, а сейчас поговорим о старых добрых пакетных файлах (bat-файлах). Несмотря на свой солидный возраст, этот способ автоматизации до сих пор популярен, потому что позволяет достаточно быстро и просто создать сценарий, выполняющий различные команды. Пакетный файл представляет собой обычный текстовый файл с расширением .bat или .cmd, содержащий в себе список команд, которые должны быть выполнены командной строкой cmd.exe. В операционной системе Windows Vista разницы между bat-файлами и cmd-файлами практически нет. Файлы как с тем, так и с другим расширением обрабатываются при помощи командной строки cmd.exe. В предыдущих же версиях Windows bat-файлы обрабатывались командной строкой command.com. Данная командная строка не поддерживает всех возможностей cmd.exe, поэтому правильнее создавать cmd-файлы (особенно если вы собираетесь использовать их не только на операционной системе Windows Vista). В самом простом случае bat-файл содержит в себе просто несколько команд запуска программ, каждая из которых записана с новой строки. Например, ниже представлен пример простого bat-файла, запускающего две программы: regedit.exe и calc.exe. При этом программы запускаются последовательно. То есть, пока не будет завершена первая команда bat-файла, не начнется выполнение второй команды. Regedit.exe Calc.exe Более сложные примеры bat-файлов используют специальные программы командной строки cmd.exe, которые позволяют добиться взаимодействия между различными программами, а также их непоследовательного запуска. Далее мы рассмотрим эти программы. Некоторые символы в bat-файлах имеют особое назначение, поэтому их нельзя использовать в строках, не обрамленных кавычками. Например, к таким символам относятся следующие символы: ( ) < > ^ & |. Если по каким-либо причинам вы хотите использовать эти символы в строке, не обрамленной кавычками, тогда перед символами, имеющими особое назначение, необходимо поставить символ ^. Например, вместо фразы Tom & Jarry нужно использовать фразу Tom ^& Jarry, Как добавить в bat-файл комментарии
Одной из особенностей bat-файлов является возможность добавления к их телу комментариев. Делается это при помощи добавления перед комментарием ключевого слова rem. По умолчанию комментарии, при выполнении пакетного файла, выводятся на экран, однако сами не выполняются. Если же вы хотите, чтобы комментарий не только не выполнялся, но еще и не выводился на экран, тогда в самом начале bat-файла напишите строчку echo off. Чтобы отменить действие этой строки в середине bat-файла, просто напишите другую строчку — echo on. Вместо команд echo off и echo on можно использовать команды @echo off и @echo on. В этом случае в командной строке также не будет отображаться запись о выполнении соответствующей команды echo. Как вы, наверное, заметили, два представленных выше способа ввода команды echo отличаются друг от друга лишь символом @ в начале строки. Общее правило таково. Чтобы в командной строке не отображалась какая-либо выполняемая команда, перед ней нужно поставить символ @. Ниже представлен пример bat-файла, использующего комментарии. Echo off Rem мы отключили отображение комментариев на экране Rem то есть, этот комментарий отображаться не будет Regedit.exe Echo on Rem а этот комментарий будет отображаться на экране Calc.exe Также для добавления комментария к .bat-файлу вместо rem можно использовать ::. Как вывести сообщение на экран
Вывести сообщение на экран очень просто. Для этого достаточно воспользоваться командой вида echo [текст сообщения]. Данная команда отображает сообщение даже при указании команды echo off (причем отображает сообщение один раз). Если же в сценарии установлена команда echo on, тогда текст сообщений echo будет дублироваться. Как работать с аргументами bat-файла
Интересной возможностью bat-файлов является возможность обработки аргументов запуска. Аргументами запуска называются значения, передаваемые в bat-файл при его запуске. Например, команда test.bat one 34 test запускает файл test.bat, передавая ему три аргумента: one, 34 и test. Работать с полученными при запуске аргументами достаточно просто. Для этого достаточно обратиться к ним при помощи переменных %1 (первый аргумент), %2 (второй аргумент), %3 (третий аргумент) и т.д. Также в сценарии можно использовать переменную %0, которая указывает на путь к запущенному вами bat-файлу. Содержимое переменных, определяющих аргументы запуска bat-файла (а также переменной %0), можно конкретизировать при помощи набора специальных переменных вида %~[символ][номер переменной]. Эти переменные представлены ниже.
Интересной возможностью использования переменных вида %~[символ][номер переменной] является возможность их объединения (то есть, объединения тех данных, которые они выводят). Для этого достаточно вместо двух переменных использовать одну вида %~[символ первой переменной][символ второй переменной][номер переменной]. Для примера давайте рассмотрим bat-файл (листинг ниже), который выполняет две переданные в него команды, как два аргумента запуска. echo off rem Если аргумент запуска содержит пробелы, запятые или точки с запятой, rem тогда он должен быть взят в кавычки. rem Поэтому нам придется воспользоваться переменными %~1 и %~2, rem чтобы удалить ограничивающие кавычки аргументов (если они есть) start %~1 start %~2 Еще один пример использования конкретизирующих переменных можно выразить при помощи одной строчки — "%~dp0[имя файла]". При помощи данной строчки выполняется запуск определенной программы, которая находится в том же каталоге, что и сам bat-файл. Иногда эта строчка бывает особенно полезна и необходима. Переменная среды %ERRORLEVEL%
Переменная среды %ERRORLEVEL% содержит в себе код, который возвратила предыдущая выполненная bat-файлом команда. Не все команды возвращают какие-либо коды. Если команда не возвратила ничего, тогда значение переменной среды %ERRORLEVEL% равно 0. Ниже перечислены программы, которые используют переменную среды %ERRORLEVEL%.
Как определить строку, при помощи которой был запущен bat-файл
Для этого достаточно воспользоваться переменной среды %CMDCMDLINE%. Именно в ней находится строка, которую пользователь вводил для запуска данного bat-файла. Что такое расширенная обработка команд
Расширенной обработкой команд называется режим работы командной строки cmd.exe, при котором некоторые стандартные программы операционной системы Windows Vista обладают дополнительными возможностями. По умолчанию расширенная обработка команд всегда включена. Однако вы самостоятельно можете отключить либо включить ее. Для этого достаточно воспользоваться одним из следующих методов.
Ниже представлены программы, на которые влияет отключение/включение расширенной обработки команд, а также их опции, которые доступны только при включенной расширенной обработке команд.
Продолжение следует Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=108
|
В избранное | ||