Как написать пакетный скрипт в Windows

Быстрые ссылки

  • Как создать базовый командный файл
  • Написание более сложного командного файла

Ключевые выводы

  • Пакетные файлы представляют собой список команд, выполняемых при двойном щелчке мыши. Они работают в современных версиях Windows и создаются с помощью обычного текстового редактора.
  • Простые пакетные файлы можно создать, вводя команды построчно. Добавление комментариев и скрытие команд с помощью «ECHO OFF» может улучшить читабельность.
  • Пакетные файлы можно использовать для более сложных задач, таких как сохранение результатов команды в текстовый файл или неинтерактивный запуск для выполнения нескольких задач. Они также могут включать условные операторы для большего контроля.

Знаете ли вы, как использовать командную строку? Если да, то вы можете написать командный файл. В своей простейшей форме пакетный файл (или пакетный сценарий) представляет собой список нескольких команд, которые выполняются при двойном щелчке по файлу. Пакетные файлы возвращаются к DOS, но по-прежнему работают в современных версиях Windows.

Как создать базовый командный файл

Пакетный файл — это просто текстовый файл, сохраненный с расширением .bat. Вы можете написать его с помощью Блокнота или более продвинутого текстового редактора, такого как Notepad++ или Visual Studio Code (VSCode), но не используйте текстовый процессор, например Microsoft Word. Текстовые процессоры обычно вставляют дополнительные элементы, связанные с форматированием, которые препятствуют правильному выполнению пакетного сценария.

Сценарии PowerShell и сценарии Bash могут быть более мощными, но пакетные файлы все равно могут быть очень полезны, если вам нужно запускать основные команды Windows. Они по-прежнему работают как в Windows 10, так и в Windows 11 и будут работать в обозримом будущем.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Давайте создадим простой командный файл. Сначала откройте Блокнот. Введите в него следующие строки:

ЭХО ВЫКЛ.
ЭХО Привет, мир
ПАУЗА
Базовый пакетный скрипт в Блокноте.

Затем сохраните файл, нажав Файл > Сохранить. Дайте ему любое имя, но замените расширение файла .txt по умолчанию на расширение .bat.

Например, вы можете назвать его hello_world.bat.

Сохранение пакетного скрипта с именем

Теперь у вас есть командный файл с расширением .bat. Дважды щелкните его, чтобы запустить. Этот конкретный пакетный файл отключает ECHO (который очищает вывод, скрывая команды от печати в командной строке), выводит на экран текст «Hello World», а затем ждет, пока вы нажмете клавишу, прежде чем он закончится.

Если вы не добавили PAUSE в файл, пакетный файл просто выполнит свои команды, а затем автоматически закроется. В этом случае он напечатает в окне «Hello World», а затем немедленно закроет окно командной строки. Если вы хотите быстро запускать команды, не видя вывода, вы можете пропустить это. Если вы выполняете несколько команд, вы можете поместить команду PAUSE между ними.

Пакетный сценарий запущен.

Написание более сложного командного файла

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

Например, предположим, что мы хотим написать пакетный файл, который запускает несколько команд диагностики сети. Возможно, мы захотим запустить ipconfig /all для просмотра информации о сети, выполнить ping google.com, чтобы проверить, отвечают ли серверы Google, и Tracert google.com, чтобы запустить трассировку до google.com и посмотреть, есть ли какие-либо проблемы на этом пути.

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

ipconfig / все
пинговать google.com
трассировка Google.com
ПАУЗА

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

Результат более сложного пакетного сценария.

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

Вы также можете добавить команду «ECHO OFF» в начало файла. Обычно он добавляется в начало большинства пакетных файлов. Когда вы это сделаете, сами команды не будут выведены в командную строку, но результаты будут. Например, вы увидите сведения о сетевом подключении, но не строку «ipconfig /all». Большинству людей не интересно видеть команды, поэтому это может очистить вывод.

Итак, вот как это может выглядеть:

:: Этот пакетный файл проверяет наличие проблем с сетевым подключением.
ЭХО ВЫКЛ.
:: Просмотр сведений о сетевом подключении
ipconfig / все
:: Проверьте, доступен ли Google.com.
пинговать google.com
:: Запустите трассировку, чтобы проверить маршрут к Google.com.
трассировка Google.com
ПАУЗА
Командная строка, показывающая выходные данные примера пакетного сценария.

Есть и другие направления, по которым вы можете пойти с таким пакетным файлом. Например, вы можете захотеть, чтобы ваш пакетный сценарий выполнял приведенные выше команды, а затем сохранял выходные данные в текстовый файл, который вы можете просмотреть позже. Для этого вы должны использовать оператор >> после каждой команды, чтобы добавить ее вывод в текстовый файл. Поскольку мы все равно собираемся читать вывод из текстового файла, мы можем опустить команду PAUSE.

:: Этот пакетный файл проверяет наличие проблем с сетевым подключением.
:: и сохраняет вывод в файл .txt.
ЭХО ВЫКЛ.
:: Просмотр сведений о сетевом подключении
ipconfig /all >> results.txt
:: Проверьте, доступен ли Google.com.
пинг google.com >> results.txt
:: Запустите трассировку, чтобы проверить маршрут к Google.com.
Tracert google.com >> results.txt

После запуска приведенного выше сценария вы обнаружите файл с именем results.txt в той же папке, что и командный файл с выводом команд. Окно командной строки автоматически закроется после завершения запуска командного файла.

Текстовый файл, выводимый из предыдущего пакетного сценария.

Пример, который мы используем выше, основан на фактической печати информации в командной строке, чтобы пользователь мог ее прочитать. Однако многие пакетные файлы предназначены для неинтерактивного запуска. Например, у вас может быть пакетный файл, который удаляет несколько файлов или каталогов при каждом двойном щелчке по нему. Вам просто нужно использовать команду del для удаления файлов или команду deltree для удаления каталогов. Помните, вы просто используете те же команды, которые вводили в окне командной строки.

По сути, в этом суть большинства пакетных файлов — просто выполнение нескольких команд одна за другой. Однако пакетные файлы на самом деле могут быть значительно сложнее. Например, вы можете использовать операторы «IF» вместе с командой «GOTO», чтобы проверить значение чего-либо, а затем переходить к другим строкам в зависимости от результата. Это больше похоже на написание настоящей небольшой программы, чем на быстрый и грязный сценарий. Это одна из причин, почему файлы .bat иногда называют «пакетными программами». Если вы хотите сделать что-то более сложное, вы найдете в Интернете множество руководств по выполнению конкретных действий с помощью пакетного программирования. Но теперь вы знаете основы того, как собрать простую вещь.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *