Как создать bat файл в Windows
Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.
В этой инструкции подробно о том, как создать командный файл bat, запустить его и некоторая дополнительная информация, которая, возможно, окажется полезной в контексте рассматриваемой темы.
Создание .bat файла с помощью блокнота
Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.
Шаги по созданию будут следующими
- Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:\Windows\notepad.exe).
- Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции).
- В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы».
- Нажмите кнопку «Сохранить».
Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).
Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл bat от имени администратора: правый клик по файлу .bat — запустить от имени администратора в контекстном меню).
Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».
Существуют и другие способы сделать bat файл, но все они сводятся к написанию команд по одной команде в строке в текстовый файл в любом текстовом редакторе (без форматирования), который затем сохраняется с расширением .bat (например, в Windows XP и 32-битной Windows 7 вы даже можете создать файл .bat в командной строке с помощью текстового редактора edit).
Если у вас включено отображение расширений файлов (изменяется в панель управления — параметры проводника — вид — скрывать расширения зарегистрированных типов файлов), то вы можете просто создать файл .txt, затем переименовать файл, установив расширение .bat.
Запуск программ в файле bat и другие базовые команды
В командном файле вы можете запускать любые программы и команды из этого списка: https://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx (правда, некоторые из указанных могут отсутствовать в Windows 8 и Windows 10). Далее — лишь некоторые базовые сведения для начинающих пользователей.
Чаще всего бывают следующие задачи: запуск программы или нескольких программ из .bat файла, запуск какой-то функции (например, очистка буфера обмена, раздача Wi-Fi с ноутбука, выключение компьютера по таймеру).
Для запуска программы или программ используйте команду:
start "" путь_к_программе
Если путь содержит пробелы, возьмите весь путь в двойные кавычки, например:
start "" "C:\Program Files\program.exe"
После пути к программе можно также указать параметры, с которыми она должна запускаться, например (аналогично, если параметры запуска содержат пробелы, возьмите их в кавычки):
start "" c:\windows\notepad.exe file.txt
Примечание: в двойных кавычках после start по спецификациям должно указываться имя командного файла, отображаемое в заголовке командной строки. Это необязательный параметр, но при отсутствии этих кавычек выполнение bat файлов, содержащих кавычки в путях и параметрах может пойти неожиданным образом.
Еще одна полезная возможность — запуск другого bat файла из текущего файла, сделать это можно с помощью команды call:
call путь_к_файлу_bat параметры
Переданные параметры при запуске можно прочитать внутри другого bat файла, например, мы вызываем файл с параметрами:
call file2.bat параметр1 параметр2 параметр3
В file2.bat можно прочесть эти параметры и использовать в качестве путей, параметров для запуска других программ таким образом:
echo %1 echo %2 echo %3 pause
Т.е. для каждого параметра мы используем его порядковый номер со знаком процента. Результатом в приведенном примере будет вывод в окно команд всех переданных параметров (команда echo используется для вывода текста в окно консоли).
По умолчанию, окно команд закрывается сразу после выполнения всех команд. Если нужно прочитать информацию внутри окна, используйте команду pause — она остановит выполнение команд (или закрытие окна) до нажатия любой клавиши в консоли со стороны пользователя.
Иногда, перед выполнением очередной команды нужно подождать некоторое время (например, до полного запуска первой программы). Для этого можно использовать команду:
timeout /t время_в_секундах
При желании, вы можете запустить программу в свернутом виде или развернутом видео с помощью параметров MIN и MAX перед указанием самой программы, например:
start "" /MIN c:\windows\notepad.exe
Для закрытия окна команд после выполнения всех команд (хотя, обычно оно и так закрывается при использовании start для запуска), используйте команду exit в последней строке. В случае, если консоль все равно не закрывается после запуска программы, попробуйте использовать такую команду:
cmd /c start /b "" путь_к_программе параметры
Примечание: в данном команде, если пути к программе или параметры содержат пробелы, могут быть проблемы с запуском, которые можно решить так:
cmd /c start "" /d "путь_к_папке_с_пробелами" /b имя_файла_программы "параметры_с_пробелами"
Как уже было отмечено, это лишь очень базовые сведение о наиболее часто используемых командах в bat файлах. При необходимости выполнить дополнительные задачи, попробуйте найти нужную информацию в интернете (поищите, например, «сделать что-то в командной строке» и используйте эти же команды в файле .bat) или задайте вопрос в комментариях, я постараюсь помочь.
Леонид
Win+R
cmd
Ctrl+Z
Enter
Совсем древний способ, работал еще в ДОС 3.30 и наверное раньше тоже, но в W10 работает вполне.
Ответить
Dmitry
Да в курсе) , но не стал с edit-ом и copy con описывать варианты, сознательно.
Ответить
Витя
на диске Д есть папка WindowsApps, перенесённая с диска Ц, системного, как и остальные папки-документы-загрузки-музыка и пр библиотеки. Винда после переустановки — удобно всё сохранилось — ко всему открылся доступ на Д полоуавтоматом, кроме WindowsApps, как деликатно получить на неё права, для себя (не админа а имя пользывателя) не нарушив там ничего?.. спасибо за всё, очень ваш сайт много раз выручил
Ответить
Dmitry
Ну деликатно никак, а в целом — поменять владельца, дать своему пользователю полный доступ к папке. Примерно как здесь описано, хотя статью стоит слегка подредактировать и дополнить: https://remontka.pro/trustedinstaller/
Ответить
Юра
В интернете нашел ярлык для очистки кеша браузера, пишут что нужно написать RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 когда создаёшь ярлык и так же нашел текст файла .cmd для очистки другого кеша:
ВОПРОС: как добавить в этот файл .cmd ту команду из ярлыка?
Ответить
Вячеслав
«Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции)».
Это вы написали для Гуру? Что скопировать, откуда скопировать и что это вообще такое, где искать этот бат файл? Если бы я знал эти тонкости то мне и решать через вас ничего не нужно было бы. Очень недоходчиво. Вынаверное пунктов 5 пропустили и объяснять стали с шестого.
Ответить
Dmitry
Вячеслав. Обычно читатели ищут «как создать bat файл» когда им как раз кто-то дает код и сообщает «создайте bat» без пояснений. Т.е. код уже есть, просто неясно, что с ним делать. Именно для них я и писал инструкцию выше.
А если его нет, то тут уже зависит от того, что именно вы хотите в нем прописывать и тут бы целый учебник по доступным командам командной строки Windows пришлось бы писать.
Ответить
Егор
Доброго времени суток. Приобрел ССД диск. Естественно желание продлить его срок службы. Хочу кэш и тмпешки скинуть на виртуальный диск, благо 8 гигов памяти. Очевидно, что надо в автозагрузку кинуть создание виртуального диска. Нашел программу которая имеет командную строку с параметрами. Но уже два дня бьюсь и ничего не получается. Перепробовал уже все места и куда только не писал кавычки. По инструкции все должно бы выглядеть таким образом:
в бат или СМД файле.
Но даже ярлыки создать не получается. Хотя в командной строке без всяких кавычек работает: C:\Program Files\OSFMount\osfmount.com -a -t vm -m Z: -o format -s 1G В ДОСе такие вопросы решались за секунду. При попытке создать ярлык , тоже все перепробовал. В реестр в Ран тоже записал строку. Но задолбался перегружать комп, чтоб перебирать варианты с кавычками. Короче выдохся. Конечно особой привязки к осммоунт у меня нет. Просто это первое что я нашел с параметрами командной строки. Что я делаю не так?
Ответить
Dmitry
Здравствуйте. Когда с кавычками непонятно (а такое бывает в bat-никах), от них можно избавиться. Для вашего случая bat-файл может выглядеть вот так (отсутствие пробела в Program Files — не опечатка):
А запускать этот файл лучше через планировщик заданий по входу в систему с наивысшими правами.
Ответить
denis
здравствуйте.
спасибо,хорошая статья!
а как быть,если надо создать батник,который закрывает второй (уже работающий батник), находящийся на рабочем столе?
к примеру, работает ping
Ответить
Dmitry
Здравствуйте.
По идее, можно было бы сделать так: в bat, который с пингом, прописываем строку
title pingbat (задаем имя окна, любое, я для примера — pingbat написал).
А во втором файле:
Здесь ищем процесс по заголовку окна, закрываем.
Только почему-то для bat-файлов это не работает.
Возможное решение: запуск bat-файл как службы (сервиса), поищите, есть на эту тему инструкции.
А вот службу уже можно закрыть попроще bat-файлом (каждая строка — отдельный способ, первая убивает процесс, вторая — останавливает службу):
Ответить
denis
спасибо. а сама команда закрытия какой-либо программы как будет выглядеть?
Ответить
Dmitry
Также как показано выше было — по заголовку окна taskkill, аналогично по имени процесса можно.
Ответить
Ильдар
я с помощью батника запускаю прогу CamStudio, а с помощью какой команды нажать в этой проге кнопку «record»?
Ответить
Dmitry
Параметры -start и -stop запускают и останавливают запись, насколько я смог найти (на форуме у них, вот здесь: sourceforge.net/p/camstudio/discussion/447910/thread/cba0fa69/ )
Ответить
андрей
в батнике не работает почему
Ответить
Dmitry
А путь точно правильный? Просто sistem меня смутило (правильно — system, но может это вы просто так папку назвали).
Ответить
андрей
путь указан правильно . батник запускает все команды а на «» /min не реагирует как будто его нет
Ответить
TRES
Спасибо огромное за то что помогли разобраться
Ответить
Елена
Здравствуйте.
Вопрос 1. Нужно батником запустить программку из Program Files (x86), а затем в ней открыть файл формата .dat . Данная программа не является программой по умолчанию для этого формата. То есть обычно это выглядело бы как
Открыть с помощью>Выбор программы из списка установленных программ
Но если не хочется назначать эту программу программой по умолчанию для формата, то как можно открыть этот файл при помощи батника?
Вопрос 2. Код:
start «» «C:\Program Files (x86)\XX\XX.exe» «D:\XX\_XX\Monday 03 June 2019 19.22.52.000.CFG»
Выдает сообщение: Не удалось найти пройденный файл D:\XX\_XX\Monday 03 June 2019 19.22.52.000.CFG.
Что не так с кодом? Или проблема в самом файле, в правах доступа или формате? Двойным щелчком файл открывается нужной программой, а батником нет.
Ответить
Dmitry
Прошу прощения за долгий ответ.
надеюсь, ответит на оба вопроса.
Ответить
Antoxa
подскажите я создал bat — msconfig — regedit — cmd
а запуск таких taskmgr,taskschd.msc,создается но,не запускает,а запускает куча окон с командной строкой,делает это бесконечно пока не отключишь через диспетчер задач
как сделать чтобы работало?
Ответить
Dmitry
А можно увидеть именно код вашего bat-файла?
Ответить
Antoxa
а блин,у меня почему то и те созданные уже не запускаются(
Ответить
Antoxa
я прописал ( start msconfig ) выбрал все файл,и сохранить как bat
Ответить
Шавкат
Доброго я хотел бы задать вопрос)
я хочу написать батник на запуск и закрытие программы
в общем мой алгоритм действий
в моем случае 1 программа Forza Horizon 4
2 программа explorer.exe
в общем для запуска 1 и закрытия 2 уже все написано и все работает
вопрос как сделать так чтобы после закрытия 1 запускалась 2 с правами администратора
Ответить
Dmitry
Если я правильно понимаю по коду, вы хотите выгрузить explorer из памяти, чтобы типа быстрее Forza шла, а потом снова запустить, чтобы рабочий стол и панель задач вернулись, так?
Тогда просто start explorer — он не от администратора запускается по умолчанию системой.
Ответить
Шавкат
игра идет в 100-60 фпс просто этот способ убирает микрофризы со всех игр а в случае с форзой предотвращает вылиты,а на счет start explorer я так и сделал выдает ошибку тупо у вас не разрешения на выполнение данной команды обратитесь к администратору я как то раньше это все проворачивал ток не помню как
echo «forzafix-4 batch file»
start «» «C:\Games\Forza Horizon 4\FH4_AutoUWP.exe»
timeout /t 30
taskkill /f /im explorer.exe
start explorer
pause
exit
Ответить
Dmitry
Странная ситуация. Я перепроверял по-разному, легко запускается explorer так. Какая-то особенность учтеки вашей, возможно, но вот только что именно не берусь предположить.
Ответить
Швкат
Я понял просто с правами админа была проблема получил права добавил время в 1000 закрыл игру прога explorer запустился окошка закрылась благодарю )))
Ответить
Ogust
здравствуйте.
подскажите пожалуйста как создать цикличный бат файл?
нужно, чтобы открывал 1-ю программу, затем закрывал её и открывал 2-ю программу,
и так по кругу.
Ответить
Dmitry
Примерно так:
Учитываем, что мы не может закрыть задачу .bat, потому что когда мы bat запускаем, запускается процесс cmd.exe (и содержимое bat), соответственно мы их должны закрывать.
А вот для цикла у нас в BAT можно использовать FOR, но вот как его сделать прямо бесконечным сходу не отвечу.
Ответить
Ogust
спасибо. сделал цикл+закрытие так:
присвоил батникам имена окон
title gm1 и сооответственно gm2 и
Ответить
Pavel
Подскажите почему bat-файл с таким содержимым постоянно перезапускается?
netstat -a
Как с помощью бат-файла единожды запустить команду netstat -a
?
Ответить
Shups
Спасибо за статью! Большущий респектос! А в cmd /c — /c записывает в командную строку дальнейший текст? Или за что это отвечает?
Ответить
Dmitry
Здравствуйте.
cmd с ключом /c запускает команды с последующим автоматическим завершением.
Ответить
Костик
Здраствуйте. Немогу понять. Сделал батник gbot.bat а запустить не могу проводник открывает как блокнот, а командная строка пишет —
«gbot.bat» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Ответить
Dmitry
Здравствуйте. А путь к файлу полностью указываете? В общем, в пути проблема скорее всего.
Ответить
Сергей
Здравствуйте. Сделал .bat. Нужно зарегистрировать в реестре файлы .dll как компонент команды. То есть мне нужно указать путь и саму команду?
Вот так?
Ответить
Виктор
Доброго времени, Дмитрий!
Подскажите вариант батника для запуска программ от имени Администратора (пользователя с правами администратора) из под обычного Пользователя (бывает нужно, чтобы обычный пользователь мог запустить нужное ПО с повышенными правами, не более). Например, запустить под обычным пользователем батником программу Revo Uninstaller, расположенную в папке C:\Program Files\VS Revo Group\Revo Uninstaller\
Ответить
Nurlan
Здравствуйте спасибо за помощь все получилось. но меня интересует другой вопрос можно ли том же файле или другом сделать так чтоб он написал в открытом окне то что мне надо например в одно открытом окне мне нужно чтоб он написал пароль из 4 цифр а следующем чтоб написал ип специальной программе чтоб программа заработала. заранее спасибо за ответ
Ответить
Dmitry
В принципе, думаю, можно, но тут бы детали знать, что как откуда и куда требуется передавать, просто по описанию не совсем ясно.
Ответить
Slavik
Здравствуйте.
Как мне сделать, чтобы сообщения программы выводились одновременно и на экран, и у файл.txt, то-есть, всесто двух комманд :
echo Сообщение
echo Сообщение >файл.txt
использовать только одну комманду echo.
Сам пробовал использовать перенапраления (|), не получается.
P.s. Ну, саму команду echo можно и дважды написать, а вот сообщения программ, которые нельзя дважды запускать, хочется видеть сразу и сберечь эти сообщения в файле.
С уважением, Ярослав.
Ответить
Dmitry
Можно такой подход использовать:
Сейчас погуглил, нашел еще такую конструкцию
Только от меня ускользает логика использования «промежуточного» файла в ней.
Ответить
Slavik
Извини, я не полностью обьяснил, что я хочу, а именно :
мне нужно, чтобы выводилось одно конкретное Сообщение на экран и добавлялось в конец файла a.txt ( >>), и похоже, второй вариант подходит, за что Тебе Большое Спасибо. :)
P.S. А мне гугль не хотел сказать, где это такое, или я плохо спрашивал. А самому додуматься умишки не хватило. Подскажи сайт, где такие «перлы» существуют. С уважением.
Ответить
Dmitry
по-моему я это на stackoverflow нашел (но гуглил по-английски)
Ответить
Александр
Привет, а как задать бат файлу команду чтобы он запускал ехе от имени администратора, при том файл может быть по разному пути, то есть бат файл должен запускать тот ехе с которым он лежит, вообще такое возможно? и учетка админа разная может быть.
Ответить
Dmitry
Если нас не беспокоит то, что может потребоваться подтверждать UAC или вводить пароль, то сам запуск будет выглядеть так:
Но я предполагаю, что у вас еще задача и чтобы UAС не было и на разных компах и т.д. Тут куда сложнее, вот например здесь подход в комменте самом заплюсованном
первая часть кода запустит то, что вы внизу напишете от админа. А внизу пишем поиск exe файлов в папке и их запуск. По идее вот так можно (должно запустить все файлы exe в той же папке, где находится bat):
Но сам ничего из описанного не тестировал.
Ответить
Bandikut_RUS
Какая-то нелепая статья …
В текстовый документ скопировал всё, что тут предлагается, всюду написал bat, а текстовый документ как был обычным, так таковым и остался …
Ничего не работает.
Ответить
Dmitry
У вас наверное отключен показ расширений файлов и вы не удалили расширение .txt
Ответить
OborocV
всем привет есть такой вопрос кто может создать батник требовиние токие
— есть папка C:\test\in в ней 50 файлов
— рандомно копировать с папки C:\test\in 3 файла в папку C:\test\out
кто может помочь напишите плз в телегу @OborocV
Ответить
Вадим
Не открываются все файлы .bat? При нажатии ПКМ нет ни открыть ни изменить. Что делать?
Ответить
Леха
Здравствуйте!
Как сделать чтоб был установлен список файлов .exe и консоль cmd отслеживало установку, при этом сама установка в режиме верисайлент + есть ли вар чтоб все екзешники из папки, без самого списка в бат ?
Ответить
Сергей
У меня такой вопрос. Мне нужна команда запуска программы в одной папки с батником. Где бы эта папка не находилась. Если можно, пришлите ссылку на ответ в этой теме на мой ящик
Ответить
Dmitry
Ответить
Dennis
Доброго времени.
как создать бат файл для скачивания с сайта и открытия скаченного.
и далее чтобы этот файл сразу открывался.
есть ли какие-нибудь варианты? использую обычный блокнот
Ответить
Dmitry
Здравствуйте.
Средствами «чисто bat» — не знаю.
Но легкое гугление подсказывает, что мы можем использовать утилиту URL2File в bat файле для загрузки
адрес утилиты:
пример использования:
а потому уже используя путь к файлу запустить его.
Ответить
gwolforce
Добрый вечер.
Задача — создать .bat файл, запускающий программу установки драйвера видеокарты (w10 постоянно скидывает на стандартный драйвер). Программа запускается от имени администратора и, естественно, требует пароль.
Вопрос: возможно ли прописать в .bat файле параметр, вводящий пароль администратора?
echo «reinstall rx470 driver»
start «» C:\AMD\WHQL-AMD-Software-Adrenalin-Edition-22.11.2-Win10-Win11-Dec8\Setup.exe
Ответить
Alex
Дружище, спасибо тебе за такой развернутый ответ и сам батник. Долгих лет жизни, обнял))
Ответить
Alex
подскажите как создать bat-файл для установки программы?
Ответить
Dmitry
Здравствуйте.
Зависит от конкретной программы, файла установщика, какие параметры он поддерживает и поддерживает ли…
Ответить
Alex
ну например, какой скрипт должен быть для установки архиватора 7zip.exe расположенного на диске D?
Ответить