Категория: Windows XP / Администрирование / Просмотров: 22455 / Комментариев: 0
Системные администраторы и опытные пользователи хорошо осведомлены о полезности пакетных файлов, но средний пользователь ПК, как правило, не знакомы с ними, и их пугает сам процесс написания или даже запуска скрипта. В этом нет ничего хорошего, поскольку это означает, что многие пользователи лишаются мощного инструмента для проведения регулярных или повторяющихся задач. Хотя командные файлы могут быть довольно сложными и использоваться в сложных сетях и при администрировании, они также могут быть предельно простыми и краткими. В этой статье мы рассмотрим, что из себя представляет пакетный файл, и обсудим несложные примеры, которые сделают основные задачи проще.
Что такое пакетные файлы?
Это простые текстовые файлы, содержащие несколько строк с командами, которые выполняются последовательно, одна за другой. Эти файлы имеют специальное разрешение (BAT или CMD). Файлы этого типа распознаются и запускаются через интерфейс, называемый командным интерпретатором Windows. В системах Windows XP/Vista/7 интерпретатор представлен исполняемым файлом cmd.exe. Большой ассортимент универсальных команд, доступных во всей линейке ОС Windows, делает cmd-файлы мощным инструментом.
Построение командного файла заключается лишь в открытии любого текстового редактора, например Блокнота, ввода некоторых строк, содержащих команды, и сохранения полученного файла в формате CMD или BAT. Разрешение CMD ограничивается современными системами Windows, и не работает в Windows 9x/Me. Не используйте редакторы текста Wordpad или Word, так как с их помощью сложнее сохранить файлы в обычном текстовом формате. Команды пакетных файлов зачастую очень просты и нет необходимости изучать языки программирования для их написания. Желающие могут изучить такие тонкости, как условия и циклы, но здесь мы ограничимся обсуждением несложных приложений для решения повседневных задач. Упор будет сделан на экономию времени и усилий на некоторые рутинные вещи, такие как управление файлами.
Запуск командного файла осуществляется просто двойным щелчком. Пакетные файлы можно запустить и из командной строки или строки Пуск->Выполнить. В этом случае должен быть использован полный путь к файлу.
Создание пакетного файла
Первая строка пакетного файла часто состоит из этой команды:
@echo off
По умолчанию, пакетный файл будет отображать результаты работы написанных в нем команд. Целью этой первой команды является отключение вывода лишних команд на экран. Команда ECHO OFF выключает вывод на экран для всех команд, но не для себя, поэтому перед ней ставится символ «@», скрывающий ее саму. Этот нюанс не так уж и важен, но мы упоминаем об этом, потому что это очень часто встречается в сценариях. Сценарии наши будут очень краткими, и отсутствие в них этой строки не сильно помешает. Однако, как это предусмотрено надлежащей практикой, мы будем вводить эту команду в наших сценариях.
Нашим первым примером пакетного файла будет скрипт, помещающий список всех файлов из каталога “Program Files” в отдельный текстовый файл.
Откройте Блокнот и введите в него следующие строки:
@echo off
dir "C:\Program Files" > C:\list_of_files.txt
Здесь предполагается, что ваша папка “Program Files” находится на диске C:\.
Теперь сохраните этот двустрочный файл под именем «listprograms.bat» в удобном для вас месте. Убедитесь, что в окне сохранения Блокнота Вы выбрали сохранить как «Все файлы», а не как «.txt».
Три важных момента проиллюстрированы в этом сценарии. Обратите внимание, что для файлов используется полный путь, включая букву диска. Также, обратите внимание на использование кавычек в пути. И неконец, следует запомнить символ “>” который используется для вывода информации не на экран, а в файл.
Для того чтобы запустить созданный нами файл скрипта, нужно дважды кликнуть его мышью. Файл C:\list_of_files.txt будет создан.
Более общий вид с аргументами
Созданный нами ранее файл ограничен возможности вывода лишь определенной папкой и в определенный файл. Однако, легко сделать файл, который в состоянии вывести все папки, которые мы захотим, туда, куда мы захотим. Пакетные файлы могут использовать аргументы или данные введенные пользователем. Процесс использует переменные вида %1, %2 . Пакетный файл с аргументами не может быть запущен двойным нажатием мыши, его нужно запускать из командной строки.
Создадим новый пакетный файл:
@echo off
dir %1 > %2
сохраним его под именем “makelist.bat”, чтобы запустить его, откроем командную строку и введем:
{path}makelist somefolder somewhere\list.txt,
где somefolder является папкой, содержимое которой нужно вывести в файл somewhere\list.txt. Если вы хотите получить также список вложенных папок, используйте ключ /S после команды DIR.
dir /S %1 > %2
Если вы хотите получить список, например, MP3 файлов, то используйте следующую команду:
dir %1\*.mp3 > %2
Работать со скриптами будет гораздо удобнее, если вы создадите для них специальную папку, которая будет находиться в пределах переменной PATH.