Что такое bat-файлы?


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

Определение

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

Файлы bat часто также называют пакетными или командными, кроме того вы можете встретить следующие их обозначения: исполняемые сценарии, пакетные программы, а также сценарии оболочки. Расширение .bat нередко заменяется .CMD.

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

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

Как открывать

Если вы собираетесь открыть файл .bat, будьте осторожны. Работа с ним может угрожать как вашим личным документам, так и ключевым системным файлам.

Хотя Windows сразу распознаёт файлы .bat, как исполняемые, они всё ещё представляют собой текстовые команды. То есть их можно изменить в любом редакторе текста, в частности, в Блокноте. Чтобы сделать это, щелкните по файлу правой кнопкой мыши, после чего в меню укажите «Показать дополнительные параметры» > «Изменить».

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

cmd /c "echo off | clip"

А теперь рассмотрим другой с командой ping. С её помощью можно проверить, способен ли компьютер подключиться к роутеру с указанным IP-адресом:

ping 192.168.1.1 pause
Аренда облачного сервера для разработки, хостинга, обученияПодробнее





Как использовать

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

Например, если вы запустите файл с командой, которая приведена в примере выше (cmd /c "echo off | clip"), то сразу же будет выполнена очистка буфера обмена. Вот почему важно быть внимательными при запуске файлов .bat. Никогда не запускайте неизвестные файлы с таким расширением.

Как создать

Вы можете сделать собственный файл в текстовом редакторе. Для этого откройте, например, Блокнот и запишите нужную команду, например, одну из приведённых выше. Кликните меню «Файл», найдите опцию «Сохранить как». Дальше нужно выбрать имя и расширение.

Помимо .bat можно выбирать .cmd или .btm, они будут работать точно так же.

Как изменить

Как вы могли заметить, код bat-файла никаким образом не скрыт, то есть его можно без проблем редактировать. Из-за того, что некоторые команды (к примеру, del ) могут причинить вред вашим личным данным, имеет смысл преобразовать bat в формат EXE . Он станет больше напоминать файл приложения.

Чтобы это сделать, можно применять инструменты командной строки. Скрипт:

@ECHO OFF

ECHO Make EXE From BAT

ECHO Written by: Jason Faulkner

ECHO SysadminGeek.com

ECHO.

ECHO.

REM Usage:

REM MakeExeFromBat BatFileToConvert

[IncludeFile1] [IncludeFile2] [...]

REM

REM Required Parameters:

REM BatFileToConvert

REM Source batch file to use to produce the output Exe file.

REM

REM Optional Parameters:

REM IncludeFile

REM Additional files to include in the Exe file.

REM You can include external tools used by the batch file so they are available on the executing machine.

SETLOCAL

REM Configuration (no quotes needed):

SET PathTo7Zip=

REM ---- Do not modify anything below this line ----

SET OutputFile="%~n1.exe"

SET SourceFiles="%TEMP%MakeEXE_files.txt"

SET Config="%TEMP%MakeEXE_config.txt"

SET Source7ZFile="%Temp%MakeEXE.7z"

REM Remove existing files

IF EXIST %OutputFile% DEL %OutputFile%

REM Build source archive

ECHO "%~dpnx1" > %SourceFiles%

:AddInclude

IF {%2}=={} GOTO EndInclude

ECHO "%~dpnx2" >> %SourceFiles%

SHIFT /2

GOTO AddInclude

:EndInclude

"%PathTo7Zip%7za.exe" a %Source7ZFile% @%SourceFiles%

REM Build config file

ECHO ;!@Install@!UTF-8! > %Config%

ECHO RunProgram="%~nx1" >> %Config%

ECHO ;!@InstallEnd@! >> %Config%

REM Build EXE

COPY /B "%PathTo7Zip%7zsd.sfx" + %Config% + %Source7ZFile% %OutputFile%

REM Clean up

IF EXIST %SourceFiles% DEL %SourceFiles%

IF EXIST %Config% DEL %Config%

IF EXIST %Source7ZFile% DEL %Source7ZFile%

ENDLOCAL

Ещё один способ заключается в использовании инструмента IExpress, который по умолчанию встроен в Windows. Также можно конвертировать EXE-файл в MSI через тестовую версию EXE в MSI Converter Pro.

Также сработает инструмент командной строки NSSM (распространяется бесплатно), он позволит запустить BAT-файл в роли службы Windows.

PowerShell Scriptomatic умеет трансформировать код из bat-файла в сценарий PowerShell.

Также можно вручную переписать расширение файла .bat, заменив  на другое, которое умеет распознавать компьютер. Есть вероятность, что файл с заменённым расширением будет работать. Так как файлы bat — это обыкновенный текст, проще всего переименовать расширение в .TXT. Это позволит сразу открывать их в текстовом редакторе.

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

Заключение

Файлы .bat могут значительно облегчить работу, однако с ними стоит быть внимательными и помнить, что это исполняемые файлы. Запускайте только проверенные.



Полезный материал?
2
0
автор: Всеволод
опубликовано: 27.01.2023
Читайте нас: 
Последние статьи
Вверх!