Пакетные командные файлы сценариев windows

Командные или пакетные файлы (command/batch files)

Предостережение! Данная тема должна осваиваться пользователем(!) именно в том объеме, который приведен здесь, то есть — в единицах процентов. Максимум — еще пару «уровней» вглубь, если возникнет такая потребность. Углубление знаний до уровня, близкого к полному, заведет в тупик. Подобные задачи следует решать с помощью языков программирования высокого уровня, что упростит решения и значительно увеличит скорость, но относится к сфере профессионального выполнения.

По-прежнему, как 10, 20 и 30 лет назад, у пользователя сохраняется возможность индивидуально оптимизировать свою работу, переложив часть интеллектуального труда на плечи компьютера.

Для этого можно использовать так называемые командные или пакетные файлы, без преувеличений, в десятки и сотни раз облегчающие работу с файловой системой. Никакой разработчик никогда не сделает этого за вас, так как у всех свои индивидуальные потребности.

Без какого-либо сомнения, следует говорить, что сегодня в мире ежедневно запускаются миллиарды таких файлов. В том числе разработанные десятилетия назад. И никто ничего менять не собирается!

Эти файлы являются текстовыми, имеют расширение bat или cmd и содержат простейшие команды, понимаемые операционной системой, которые могут быть выполнены в командной строке.

Основные области применения.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Для меня будет крайне радостно, если вы воспользуетесь хотя бы вариантами 2—4. От вариантов 7 и 8 вам, скорее всего, не уйти.

Какое из двух приведенных расширений использовать? Расширение bat использовалось для DOS (16-разрядный интерпретатор command.com), а cmd возникло для интерпретатора командной строки cmd.exe. Поэтому ряд действий может не производиться из bat-файла, либо исполняться медленнее, хотя большинство пользователей этого никогда не заметит. А bat-файлы рассматриваются Windows в качестве командных.

Некоторые символы в командных файлах нельзя использовать в строках, не заключенных в кавычки, так как они имеют специальное назначение. Например: ( ) ^ & |.

Внимание! Русский текст для корректного исполнения/отображения должен быть набран в кодировке DOS (ASCII), то есть CP866. В FAR вы должны видеть ANSI (Win) на месте подсказки к клавише F8 . Последняя является переключателем кодировки. Либо переопределить ее вызовом списка кодировок клавишей Shift+F8 . Поскольку Блокнот такой возможности не поддерживает, выводы можете сделать сами.

Важный момент связан с запуском неправильно работающей и/или зависшей программой.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Пример (очень глупый, зато и очень наглядный):

Разберем программу построчно.

@echo off (отключить вывод сообщений)

cls (очистить экран, от CLear Screen)

title Тестирование пакетного файла (Заголовок окна, о котором большинство в спешке и рутине забывает. Естественно, для сиюминутных задач это будет излишеством.)

echo Интересно. (Просто бла-бла на экране)

echo. (Точка означает вывод пустой строки, то есть зрительное отделение)

echo Запуск Блокнота (Информация для пользователя)

start notepad (Запуск программы)

Wordpad (Запуск программы. Cлово start опущено. Расширение (exe) не указано, как и для Блокнота, так как программы находятся в папках, описанных системной переменной PATH.)

pause (выведет фразу «Press any key to continue. » и будет ожидать нажатия, чтобы вы все смогли прочитать.)

exit (закроет окно, иначе придется печатать эту команду руками, либо жать крестик, что для DOS-сессии категорически НЕДОПУСТИМО). Обратите внимание, что в бухгалтерском деле до сих пор используются DOS-приложения. Если вы их закроете крестиком, то почти неизбежна потеря информации или даже разрушение базы данных.

Вывод сообщений

Возможно, что вам нравится, когда компьютер говорит сам с собой, а потом сообщает это же и вам. Мне — нет.

Поэтому первой строкой командного файла следует указывать команду @echo off. Символ @ сообщает интерпретатору, что и о факте отключения эха не надо сообщать пользователю.

Обработка аргументов

Сделав несколько командных файлов для конкретных случаев, многие пользователи обнаруживают, что можно было бы сделать их программы более универсальными, если бы они могли обрабатывать предлагаемые им данные.

Такая возможность предусмотрена:

  • %0 — имя запущенного пакетного файла с путем.
  • %1 — первый переданный аргумент.
  • %2 — второй переданный аргумент.
  • %* — все переданные аргументы одной строкой.

Комментарии

Для включения комментариев в текст вашей программы необходимо начать строку с :: (удвоенное двоеточие) или со слова rem.

Читайте также:  Настройка smart box windows

При этом сами комментарии могут отражаться на экране, давая вам необходимые пояснения, либо не отображаться совсем (зависит от настройки echo).

Указание после команды знака амперсанда (&) позволяет использовать комментарий после него, то есть для данной строки. Важно, что двоеточия могут блокировать некоторые строки. В этих случаях лучше воспользоваться rem.

Далее, комментарии, внесенные в текст программ для пояснения, будут окрашены .

Некоторые полезные примеры

Не надо пробовать сделать это ручками — замучаетесь. Зачастую проще скопировать строку из готового файла и отредактировать её.

Пример архивации WinRar

Конечно, это можно: 1) каждый раз набирать руками, 2) выполнить настройки в графическом интерфейсе. Но, кажется, глупость подобных действий должна быть очевидной.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Пример копирования

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Имена файлов и путь

Имена, содержащие пробелы, могут интерпретироваться правильно, но это происходит далеко не всегда. Во избежание проблем, следует всегда заключать их в кавычки:

«C:\Documents and Settings\»

Переменные

Единственное уточнение коснется того, что переменные используются с окружением их знаками процента (%), как это сделано в приведенных ниже примерах.

Задание значений переменной осуществляется командой set, например, команда

создаст переменную var, содержащую строку «корова».

Использование ключа /P позволяет осуществить ввод пользователем.

SET /P variable=[строка_подсказки]

Ключ /A позволяет провести вычисления с использованием более двух десятков операторов.

Полная справка о работе команды может быть получена вызовом в командной строке

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Ветвление (If)

Оператор условного выполнения команд IF позволяет производить те или иные действия в зависимости от имеющихся обстоятельств. Последние могут существовать (то есть анализироваться командным файлом), либо задаваться действиями пользователя.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Метки

Поскольку язык достаточно примитивный и разрабатывался давно, он поддерживает так называемые безусловные переходы (переход к метке) для упрощения решений линейного программирования. Ряд ситуаций за счет этого решается на порядок быстрее и проще, чем в современных языках. Не надо следовать за безголовыми критиками данного подхода, это — данность, которой надо пользоваться.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Цикл For

По существу, данную конструкцию можно использовать в качестве рубежа необходимых знаний. Особенно учитывая принципиальное отличие от применения в других языках программирования.

Полная справка о работе команды может быть получена вызовом в командной строке

В целом, назначение можно охарактеризовать, как разделение сложных объектов на составляющие путем последовательного перебора.

Для ясности, приведем основные направления использования команды FOR.

  • Обработка массива переменных памяти.
  • Обработка совокупности файлов в папке и/или подпапках.
  • Обработка файла, как совокупность строк.
  • Формирование числовой последовательности (близко к стандартному программному использованию).

Я очень долго обдумывал необходимость включения этой темы в курс обучения в связи с ее противоречивостью. С одной стороны, это, как минимум, на порядок повышает сложность. С другой — на несколько порядков расширяет возможности и «интеллектуальность» создаваемых программ. Перелом произошел при очередной личной необходимости создания диалоговых возможностей для пользователей. Восстановление знаний и попытки разобраться с «записками сумасшедшего», равномерно рассеянными на просторах Интернета, перевесили. Описание будет, но не войдет в очный курс.

Некоторые теоретические предпосылки.

  1. Программа может выполняться очень долго, вплоть до нескольких часов. Пользователь не должен запустить эту процедуру случайно, требуется подтверждение.
  2. Для запуска может потребоваться выбор варианта, например, долгий (архивируем все) или краткий (только файлы *.doc). Суть: тонкая настройка процесса действиями, понятными для рядового пользователя.
  3. Программирование выбора фиксированных существующих мест, то есть, какую из 5 папок обработать типовой процедурой.
  4. Один из моих случаев: создать архив чего (то есть быстро/медленно) и где (локально, в сети или и в обоих расположениях, что также скажется на времени)?
  5. .

Суть меню сводится к формированию поясняющего текста и ожидания от пользователя нажатия на клавишу, результат которого считывается в переменную.

В приведенном ниже примере создано примитивнейшее (но реальное) меню из двух пунктов, контролирующее факт запуска.

Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!

Дополнительный функционал

Сюда будет уходить всякая «экзотика», которая может пригодиться для реализации мелких идей. Это — почти готовые решения и в зачет заданий в чистом виде (без внедрения) они не пойдут.

P.S.! Большинство идей приходят из студенческих работ.

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:

  1. Студент I/II курса ВХК РАН

Задание для разработки

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:

  1. Студент I/II курса ВХК РАН

Некоторые полезные ссылки

К сожалению, часть ссылок на очень качественный материал отсюда убрана, так как ресурсы исчезли. Делайте выводы.

  1. CMD/BAT — Форум программистов и сисадминов
  2. Описание основных возможностей сценариев командной строки
  3. Командная строка. Сайт посвящен именно этой теме. Не для рядовых пользователей, но есть много полезных советов.
  4. Командные файлы Windows. Страница значительно расширяет материал и содержит важную информацию.
Читайте также:  Как удалить криптопро с линукса

Создаём комадный файл в Windows 10 – сборка и запуск

В Windows 10 командный файл – это специальный вид текстового файла, который обычно имеет расширение .bat, способный включать одну или несколько команд, которые командная строка может понимать и последовательно выполнять для реализации различных действий.

Вы можете писать команды вручную для выполнения конкретной задачи или изменения настроек, но командный файл упрощает работу по перепечатыванию команд, экономя ваше время и избавляет от ошибок.

Кроме того, несмотря на то, что есть другие инструменты, такие как PowerShell, которые можно использовать для написания более сложных сценариев, использование пакетных файлов с командной строкой является удобным вариантом, когда вам нужно запускать команды для изменения настроек системы, автоматизации подпрограмм и запуска приложения или запуск сайтов.

В этом руководстве по Windows 10 мы расскажем, как создать и запустить первый пакетный файл на вашем компьютере. Кроме того, мы опишем шаги для создания расширенных сценариев, а также для автоматизации сценариев с помощью планировщика заданий.

Как создать пакетный файл в Windows 10

Процесс написания пакетного файла (сценария или пакетного сценария) не сложен. Вам нужен только текстовый редактор (например, Блокнот) и некоторые знания по использованию командной строки.

В следующих шагах мы подробно описываем шаги для создания простого и расширенного командного файла, а также шаги для написания скрипта изменения настроек системы.

Создание простого пакетного файла

Чтобы создать простой пакетный файл в Windows 10, выполните следующие действия:

  1. Откройте Блокнот или другой текстовый редактор.
  2. Введите следующие строки, чтобы создать пакетный файл:

Приведенный выше скрипт выводит фразу «Поздравляем! Ваш первый пакетный файл успешно выполнен» на экране терминала.

  • @ECHO OFF – отключение отображения на дисплее, чтобы показывать только сообщения в чистой строке. Как правило, эта строка идет в начале файла. (Вы можете использовать эту команду без «@», но символ скрывает выполняемую команду для более чистого возврата.)
  • ECHO – печатает нужный текст на экране.
  • PAUSE – предотвращает закрытие окна консоли после выполнения команды. Вы можете использовать эту команду в конце скрипта или после определенной команды при запуске нескольких задач, если вы хотите сделать паузу между ними.
  • Нажмите меню Файл.
  • Выберите опцию Сохранить как.
  • Введите имя для скрипта – например, first_batch.bat
  • Хотя пакетные файлы обычно используют расширения файлов .bat, вы также можете увидеть сценарии, использующие расширения файлов .cmd или .btm

    Выполнив эти шаги, вы можете дважды щелкнуть файл, чтобы запустить его, или использовать описанные ниже шаги, чтобы узнать о различных способах выполнения командного файла в Windows 10.

    Создание расширенного пакетного файла

    Чтобы создать расширенный пакетный файл, который выполняет несколько команд, используйте эти шаги:

    1. Откройте Блокнот или другой текстовый редактор.
    2. Введите следующие строки, чтобы создать более сложный пакетный файл:

    Приведенный выше пакетный скрипт запускает ряд команд для запроса различной системной информации, сгруппированной в три разные категории, включая «Информацию об ОС», «Информацию об оборудовании» и «Информацию о сети».

    • @ECHO OFF – отключение отображения на дисплее, чтобы показывать только сообщения в чистой строке. Как правило, эта строка идет в начале файла. (Вы можете использовать эту команду без «@», но символ скрывает выполняемую команду для более чистого возврата.)
    • TITLE – отображает произвольное имя в строке заголовка терминала.
    • :: – Позволяет добавлять комментарии и информацию, которая игнорируется при запуске пакетного файла.
    • ECHO – печатает нужный текст на экране.
    • PAUSE – предотвращает закрытие окна консоли после выполнения команды. Вы можете использовать эту команду в конце скрипта или после определенной команды при запуске нескольких задач, если вы хотите сделать паузу между ними.
  • Нажмите меню Файл.
  • Выберите опцию Сохранить как.
  • Введите имя для скрипта – например, first_batch.bat
  • После выполнения этих шагов вы можете запустить скрипт, дважды щелкнув файл .bat, или использовать описанные ниже шаги, чтобы узнать различные способы запуска пакета.

    Создание действующего командного файла

    Помимо отображения информации в терминале командной строки, вы также можете создавать неинтерактивные командные файлы для выполнения практически любой задачи.

    Чтобы создать пакетный файл, который запускает определенную команду без взаимодействия с пользователем, выполните следующие действия:

    1. Откройте Блокнот или другой текстовый редактор.
    2. Скопируйте и вставьте следующую команду (заменив PATH-NETWORK-SHARE\FOLDER-NAME на сетевой путь и название папки, а YOUR-USERNAME YOUR-PASSWORD на логин и пароль пользователя):

    Команда «pause» не требуется, она была добавлена в этом примере, чтобы сделать снимок экрана. Если вы получаете доступ к файлам с другого компьютера, который использует определенное имя пользователя и пароль, не забудьте использовать опцию /user: с необходимыми учетными данными.

    Приведенная выше команда является известной командой, которая отображает сетевую папку как диск внутри проводника, используя букву «Z».

  • Нажмите меню Файл.
  • Выберите опцию Сохранить как.
  • Введите имя для скрипта – например, network-drive.bat
  • Читайте также:  Чистый сервер rehlds windows

    После выполнения этих шагов при запуске пакета команда отобразит общую сетевую папку с указанными параметрами без необходимости открывать командную строку. Хотя мы указали только одну команду в файле, вы можете включить столько команд, сколько захотите, если вы напишете по одной в каждой строке.

    Как запустить командный файл в Windows 10

    В Windows 10 вы можете запустить командный файл как минимум тремя способами. Вы можете запустить пакет по требованию, используя проводник или командную строку. Вы можете создать запланированное задание с помощью планировщика заданий. Или вы можете поместить скрипт в папку «Автозагрузка», чтобы запускать его каждый раз при входе в устройство.

    Запуск пакетного файла по требованию

    Если вам нужно запустить скрипт по требованию, вы можете использовать проводник или командную строку.

    Проводник

    Чтобы запустить пакетный файл с помощью проводника, выполните следующие действия:

    1. Откройте проводник.
    2. Найдите папку со сценарием.
    3. Дважды щелкните командный файл, чтобы запустить его.
    4. (Необязательно) Если вы выполняете команду, требующую прав администратора, вам нужно запустить сценарий от имени администратора, щелкнув правой кнопкой мыши пакетный файл и выбрав опцию Запуск от имени администратора.

    После того, как вы выполните шаги, пакет будет выполнять каждую команду в последовательности, отображая результаты в терминале.

    Командная строка

    Чтобы запустить командный файл из командной строки, выполните следующие действия:

    1. Откройте командную строку от имени администратора.
    2. Введите путь и название командного файла и нажмите Enter :

    Например, следующая команда запускает пакетный файл, расположенный в пользовательской папке «batch» внутри папки «Downloads»:

    После того, как вы выполните эти шаги, выходные данные будут отображаться на экране, даже если скрипт содержит команду «PAUSE».

    Запуск пакетного файла по расписанию

    Чтобы запланировать запуск пакетного файла в Windows 10, вы можете использовать планировщик задач, выполнив следующие действия:

    1. Откройте Пуск.
    2. Введите планировщик заданий и щелкните по верхнему результату, чтобы открыть приложение.
    3. Щелкните правой кнопкой мыши ветку «Библиотека планировщика заданий» и выберите опцию Создать папку. .
    4. Введите имя для папки – например, MyScripts.

    Необязательно создавать папку, но рекомендуется организовать ваши задачи.

  • Нажмите кнопку ОК .
  • Щелкните правой кнопкой мыши папку MyScripts.
  • Выберите опцию Создать простую задачу.
  • В поле «Имя» введите краткое описательное имя для задачи – например, SystemInfoBatch.

  • (Необязательно) В поле «Описание» создайте описание для задачи.
  • Нажмите кнопку Далее .
  • Выберите опцию Ежемесячно.

    В Windows 10 планировщик задач позволяет выбрать несколько триггеров, в том числе на определенную дату, во время запуска или при входе любого пользователя в устройство. В зависимости от ваших требований вам нужно будет настроить дополнительные параметры. В этом случае мы выбираем вариант запуска задачи каждый месяц.

  • Нажмите кнопку Далее .
  • Используя настройку «Начать», укажите день и время запуска задачи.
  • Используйте выпадающее меню «Месяцы», чтобы выбрать месяцы года, в которые вы хотите выполнить задачу.
  • Используйте выпадающее меню «Дни» или «В:», чтобы указать дни, в которые будет выполняться задание.

  • Нажмите кнопку Далее .
  • Выберите опцию Запустить программу, чтобы запустить пакетный файл.
  • В поле «Программа/скрипт» укажите путь к пакетному файлу.
  • Нажмите кнопку Готово .
  • После выполнения этих действий задача сохраниться и запустит пакетный файл по указанному вами расписанию.

    Запуск пакетных файлов при запуске

    В качестве альтернативы, если вы хотите запускать пакетный файл каждый раз, когда вы входите в свое устройство, вместо использования планировщика заданий, вы можете сохранить сценарий в папке «автозагрузка».

    Чтобы запустить скрипт при запуске, используйте следующие простые шаги:

    1. Откройте проводник.
    2. Найдите папку с командным файлом.
    3. Щелкните правой кнопкой мыши файл и выберите параметр Копировать.
    4. Используйте комбинацию Win + R , чтобы открыть окно «Выполнить»
    5. Введите следующую команду: shell:startup
    6. Нажмите Вставить на вкладке «Главная» в папке «Автозагрузка». (Или вы можете нажать кнопку «Вставить ярлык», чтобы создать ярлык для командного файла.)

  • Выйдите из учетной записи Windows 10.
  • Войдите в аккаунт.
  • После выполнения этих шагов каждый раз, когда вы входите в учетную запись Windows 10, командный файл будет выполняться и выполнять команды в последовательности.

    Мы ориентируем это руководство на Windows 10, но возможность использовать пакетные файлы существует давно, а это означает, что вы можете обратиться к этим инструкциям, если вы всё ещё используете более старую версию, включая Windows 8.1 или Windows 7.

    Оцените статью