Как создать bat файл в Windows

Как создать bat файл в WindowsНередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл.

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

Создание .bat файла с помощью блокнота

Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.

Шаги по созданию будут следующими

  1. Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:\Windows\notepad.exe).
  2. Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции). Создание bat файла в блокноте
  3. В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы». Сохранение bat файла в блокноте
  4. Нажмите кнопку «Сохранить».

Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).

Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл 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) или задайте вопрос в комментариях, я постараюсь помочь.

Комментарии (21) к Как создать bat файл в Windows

  • Леонид

    Win+R
    cmd

    copy con ttt.bat
    echo off
    echo "Можно и так :-)"

    Ctrl+Z
    Enter

    Совсем древний способ, работал еще в ДОС 3.30 и наверное раньше тоже, но в W10 работает вполне.

    Ответить

    • Dmitry

      Да в курсе) , но не стал с edit-ом и copy con описывать варианты, сознательно.

      Ответить

  • Витя

    на диске Д есть папка WindowsApps, перенесённая с диска Ц, системного, как и остальные папки-документы-загрузки-музыка и пр библиотеки. Винда после переустановки — удобно всё сохранилось — ко всему открылся доступ на Д полоуавтоматом, кроме WindowsApps, как деликатно получить на неё права, для себя (не админа а имя пользывателя) не нарушив там ничего?.. спасибо за всё, очень ваш сайт много раз выручил

    Ответить

    • Dmitry

      Ну деликатно никак, а в целом — поменять владельца, дать своему пользователю полный доступ к папке. Примерно как здесь описано, хотя статью стоит слегка подредактировать и дополнить: https://remontka.pro/trustedinstaller/

      Ответить

  • Юра

    В интернете нашел ярлык для очистки кеша браузера, пишут что нужно написать RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255 когда создаёшь ярлык и так же нашел текст файла .cmd для очистки другого кеша:

    PUSHD %TEMP%
    2>Nul RD /S/Q "%TEMP%"
    POPD
    
    PUSHD %WinDir%\TEMP
    2>Nul RD /S/Q "%WinDir%\TEMP"
    POPD
    
    PUSHD C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files
    2>Nul RD /S/Q "C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files"
    POPD
    

    ВОПРОС: как добавить в этот файл .cmd ту команду из ярлыка?

    Ответить

  • Вячеслав

    «Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции)».
    Это вы написали для Гуру? Что скопировать, откуда скопировать и что это вообще такое, где искать этот бат файл? Если бы я знал эти тонкости то мне и решать через вас ничего не нужно было бы. Очень недоходчиво. Вынаверное пунктов 5 пропустили и объяснять стали с шестого.

    Ответить

    • Dmitry

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

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

      Ответить

  • Егор

    Доброго времени суток. Приобрел ССД диск. Естественно желание продлить его срок службы. Хочу кэш и тмпешки скинуть на виртуальный диск, благо 8 гигов памяти. Очевидно, что надо в автозагрузку кинуть создание виртуального диска. Нашел программу которая имеет командную строку с параметрами. Но уже два дня бьюсь и ничего не получается. Перепробовал уже все места и куда только не писал кавычки. По инструкции все должно бы выглядеть таким образом:

    cmd /c start "" /d "C:\Program Files\OSFMount" /b osfmount.com "-a -t vm -m Z: -o format -s 1G"

    в бат или СМД файле.
    Но даже ярлыки создать не получается. Хотя в командной строке без всяких кавычек работает: C:\Program Files\OSFMount\osfmount.com -a -t vm -m Z: -o format -s 1G В ДОСе такие вопросы решались за секунду. При попытке создать ярлык , тоже все перепробовал. В реестр в Ран тоже записал строку. Но задолбался перегружать комп, чтоб перебирать варианты с кавычками. Короче выдохся. Конечно особой привязки к осммоунт у меня нет. Просто это первое что я нашел с параметрами командной строки. Что я делаю не так?

    Ответить

    • Dmitry

      Здравствуйте. Когда с кавычками непонятно (а такое бывает в bat-никах), от них можно избавиться. Для вашего случая bat-файл может выглядеть вот так (отсутствие пробела в Program Files — не опечатка):

      @echo off
      cd %ProgramFiles%
      start \OSFMount\osfmount.com -a -t vm -m Z: -o format -s 1G
      

      А запускать этот файл лучше через планировщик заданий по входу в систему с наивысшими правами.

      Ответить

  • denis

    здравствуйте.
    спасибо,хорошая статья!
    а как быть,если надо создать батник,который закрывает второй (уже работающий батник), находящийся на рабочем столе?
    к примеру, работает ping

    Ответить

    • Dmitry

      Здравствуйте.
      По идее, можно было бы сделать так: в bat, который с пингом, прописываем строку
      title pingbat (задаем имя окна, любое, я для примера — pingbat написал).
      А во втором файле:

      taskkill /FI "WINDOWTITLE eq pingbat"

      Здесь ищем процесс по заголовку окна, закрываем.
      Только почему-то для bat-файлов это не работает.
      Возможное решение: запуск bat-файл как службы (сервиса), поищите, есть на эту тему инструкции.
      А вот службу уже можно закрыть попроще bat-файлом (каждая строка — отдельный способ, первая убивает процесс, вторая — останавливает службу):

      taskkill /F /FI "SERVICES eq имя_службы"
      SC STOP "имя_службы"
      

      Ответить

      • denis

        спасибо. а сама команда закрытия какой-либо программы как будет выглядеть?

        Ответить

        • Dmitry

          Также как показано выше было — по заголовку окна taskkill, аналогично по имени процесса можно.

          Ответить

  • Ильдар

    я с помощью батника запускаю прогу CamStudio, а с помощью какой команды нажать в этой проге кнопку «record»?

    Ответить

    • Dmitry

      Параметры -start и -stop запускают и останавливают запись, насколько я смог найти (на форуме у них, вот здесь: sourceforge.net/p/camstudio/discussion/447910/thread/cba0fa69/ )

      Ответить

  • андрей

    start "" /MIN C:\FF\sistem\Firefox\FirefoxPortable.exe

    в батнике не работает почему

    Ответить

    • 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

      Прошу прощения за долгий ответ.

      cmd /c start "" "notepad.exe" "c:\1.dat"
      надеюсь, ответит на оба вопроса.

      Ответить

Оставить комментарий

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

Новое

Список инструкций Windows 10 Подписаться