Скрипты PowerShell и скрипты Bash могут быть более мощными, но пакетные файлы могут быть очень полезными, если вам нужно запускать основные команды Windows.
Основы пакетного файла
Пакетный файл - это просто текстовый файл, сохраненный с расширением.bat. Вы можете написать его с помощью Notepad или более продвинутого текстового редактора, такого как Notepad ++, но не используйте текстовый процессор, такой как Microsoft Word.
Давайте создадим простой командный файл. Сначала откройте «Блокнот». Введите в него следующие строки:
ECHO OFF ECHO Hello World PAUSE
Например, вы можете назвать его
hello_world.bat
Если вы не добавили
PAUSE
в файл командный файл просто запускает свои команды, а затем автоматически закрывается. В этом случае он будет печатать «Hello World» в окне, а затем сразу же закрыть окно командной строки. Если вы хотите быстро запускать команды без просмотра вывода, вы можете опустить это. Если вы выполняете несколько команд, вы можете разместить
PAUSE
между ними.
Написание более сложного пакетного файла
Это принципиально просто для создания командного файла. Единственное, что вам нужно изменить, это то, что вы вводите в Блокнот. Чтобы запускать несколько команд, вы вводите каждый из них в отдельной строке, и командный файл будет запускать каждый из них по порядку.
Например, предположим, что мы хотим написать пакетный файл с несколькими командами диагностики сети. Мы могли бы запустить
ipconfig /all
для просмотра сетевой информации,
ping google.com
чтобы увидеть, отвечают ли серверы Google, и
tracert google.com
чтобы запустить traceroute на google.com и посмотреть, есть ли проблемы на пути.
В самой базовой форме мы могли бы просто поместить все эти команды в пакетный файл один за другим, например:
ipconfig /all ping google.com tracert google.com PAUSE
Когда мы запускаем этот файл, мы просто видим вывод каждой команды сразу после другого. Но это не обязательно идеальный способ написать пакетный файл.
::
это строка комментария и не будет выполнена. Это делает их полезным способом объяснить, что происходит в файле, для тех, кого вы могли бы дать, или для вашего будущего я, который мог бы забыть, почему вы ввели там определенную команду.
Вы также можете добавить команду «ECHO OFF» в начало файла. Обычно это добавляется к началу большинства пакетных файлов. Когда вы это сделаете, сами команды не будут напечатаны в командной строке, но результаты будут. Например, вы увидите сведения о сетевом соединении, но не строку «ipconfig / all». Большинство людей не хотят видеть команды, поэтому это может очистить выход.
Итак, вот что это могло бы выглядеть:
:: This batch file checks for network connection problems. ECHO OFF:: View network connection details ipconfig /all:: Check if Google.com is reachable ping google.com:: Run a traceroute to check the route to Google.com tracert google.com PAUSE
>>
оператор после каждой команды добавить свой вывод в текстовый файл. Поскольку мы все равно будем читать вывод из текстового файла, мы можем опустить
PAUSE
команда.
:: This batch file checks for network connection problems:: and saves the output to a.txt file. ECHO OFF:: View network connection details ipconfig /all >> results.txt:: Check if Google.com is reachable ping google.com >> results.txt:: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
После запуска вышеуказанного скрипта вы найдете файл с именем results.txt в той же папке, что и командный файл с выходом команд. Окно командной строки автоматически закроется после выполнения командного файла.
del
команды для удаления файлов или
deltree
для удаления каталогов. Помните, что вы просто используете те же команды, которые вы запустили в окне командной строки.
По сути, это точка большинства командных файлов - просто несколько команд одна за другой. Однако пакетные файлы могут быть значительно более сложными, чем это. Например, вы можете использовать операторы «IF» вместе с командой «GOTO», чтобы проверить значение чего-то, а затем перейти к разным строкам в зависимости от результата. Это больше похоже на написание реальной небольшой программы, чем быстрый и грязный скрипт. Это одна из причин, почему.bat-файлы иногда называются «пакетными программами». Если вы хотите сделать что-то более сложное, вы найдете множество руководств для выполнения конкретных задач с пакетным программированием в Интернете. Но теперь вы знаете основы того, как сбрасывать простой.