Пишем BAT(батник) файл для запуска и остановки службы в Windows
Возникла необходимость автоматизировать для пользователей запуск и остановку определенной службы Windows. Самое просто на первый взгляд, создание батника или Bat файла Windows. Есть и другие варианты, но решил сделать именно через батник.
Вроде все не сложно, но как всегда в Windows все не так просто, или просто, но глупо.
1. Задача:
В системе есть программа, и её Бета-версия. Запуск основной, по ярлыку. Запуск Бета-версии только после запуска службы, по окончанию, отключение этой службы. Ничего сложного нет, зайти в службы и в зависимости от задачи «включить/выключить». Но вот для некоторых сотрудников это целая проблема. Поэтому пишем батник!
2. Структура батника. После поиска структуры батника, пришел к этому варианту:
3. Меняем отражение расширений файлов. По умолчанию в Windows не отражаются расширения файлов. Правим на примере Windows 10:
— открываем любую папку;
— вверху вкладка «Вид», «Параметры», «изменить параметры папок и поиска»;
— вкладка «Вид», спускаемся до поля «Скрывать расширения для. » — снимаем галку.
Теперь файлы, в частности на рабочем столе имеют вид (на примере TXT файла):
Было «Файл», Стало «Файл.txt»
4. Создаем файл батника. Создаем «txt» файл и переименовываем его в «Запуск службы.txt». Открываем, пишем наш Bat файл:
net start [имя службы в Windows] |
Где взять имя службы? Открываем службы, находим нужную, открываем и смотрим поле «Имя службы»:
В итоге у нас будет:
net start AtolLicSvc(Если служба AtolLicSvc, у вас ваш вариант) |
Сохраняем и переименовываем файл с «Запуск службы.txt» в «Запуск службы.bat«
5. Проверяем работу службы. Казалось бы все! Но нет! Это же Windows! Выскакивает окно запуска службы и пропадает. А служба как спала так и спит. Что не так? Все дело в правах админа. Вроде не сложно, но пояснять сотрудникам, запускайте с правами админа, слишком сложно для их понимания! Читаем по быстрому инфу «как запустить bat файл от имени админа автоматический?», ответ:
ничего сложного.
— «правой кнопкой мыши на файле», «свойства»;
— вкладка «ярлык», . эмм. а где она? О_о
6. Вносим правки, создаем ярлык
Логично, вкладки нет, это не ярлык! Создаем из нашего батника «Запуск службы.bat» «Ярлык»: убираем батники подальше от рук пользователей, допустим на диск D. Правой кнопкой мыши на батнике: «отправить», «рабочий стол (создать ярлык)». И вот уже на ярлыке:
— «правой кнопкой мыши на ярлыке», «свойства»;
— вкладка «ярлык», кнопка «Дополнительно»;
— ставим галку «запуск от имени администратора».
7. Повторный запуск службы через BAT файл.
После этих манипуляций, если запустить ярлык «Запуск службы.bat — ярлык», служба стартует, согласно структуре в файле «net start AtolLicSvc»
Для батника который будет останавливать службу, все тоже самое. И да, вариантов решения задачи много, спорить не буду, но описал вариант решения который применил сам.
Stop and Start a service via batch or cmd file?
How can I script a bat or cmd to stop and start a service reliably with error checking (or let me know that it wasn’t successful for whatever reason)?
18 Answers 18
Use the SC (service control) command, it gives you a lot more options than just start & stop .
tell you whether they have succeeded or failed pretty clearly. For example
If running from a batch file, you have access to the ERRORLEVEL of the return code. 0 indicates success. Anything higher indicates failure.
As a bat file, error.bat :
The output looks like this:
Return Codes
Edit 20.04.2015
The NET command does not return the documented Win32_Service class return codes (Service Not Active,Service Request Timeout, etc) and for many errors will simply return Errorlevel 2.
You can use the NET START command and then check the ERRORLEVEL environment variable, e.g.
Disclaimer: I’ve written this from the top of my head, but I think it’ll work.
Instead of checking codes, this works too
I have created my personal batch file for this, mine is a little different but feel free to modify as you see fit. I created this a little while ago because I was bored and wanted to make a simple way for people to be able to input ending, starting, stopping, or setting to auto. This BAT file simply requests that you input the service name and it will do the rest for you. I didn’t realize that he was looking for something that stated any error, I must have misread that part. Though typically this can be done by inputting >> output.txt on the end of the line.
The %var% is just a way for the user to be able to input their own service into this, instead of having to go modify the bat file every time that you want to start/stop a different service.
If I am wrong, anyone can feel free to correct me on this.
Using the return codes from net start and net stop seems like the best method to me. Try a look at this: Net Start return codes.
Syntax always gets me. so.
Here is explicitly how to add a line to a batch file that will kill a remote service (on another machine) if you are an admin on both machines, run the .bat as an administrator, and the machines are on the same domain. The machine name follows the UNC format \myserver
In this case. p4_1 was both the Service Name and the Display Name, when you view the Properties for the service in Service Manager. You must use the Service Name.
Как написать скрипт для перезапуска службы
Батник, или пакетный файл, – это файл сценария командной строки, который содержит набор команд, которые выполняются последовательно. В этой статье мы рассмотрим, как написать батник для перезапуска службы на компьютере. Эта инструкция подробно объяснит вам, как создать пакетный файл, который автоматически перезапустит службу при ее остановке или сбое.
В первую очередь, вам понадобится текстовый редактор, такой как Блокнот или любой другой редактор кода. Откройте редактор и создайте новый файл. Стартуйте файл с помощью команды echo, чтобы указать интерпретатору команд, которым является командная строка Windows.
Далее, вам нужно указать службу, которую вы хотите перезапустить. Используйте команду sc query, чтобы найти имя службы и скопировать его в буфер обмена. Затем, используя команду sc start [имя службы], вы можете перезапустить службу.
Чтобы сделать батник автоматическим, вы можете использовать цикл «бесконечный цикл» внутри пакетного файла, чтобы он постоянно проверял статус службы и перезапускал ее при необходимости. Для этого используйте команду ping с параметром -n, чтобы указать количество итераций цикла, и команду goto для возврата к началу скрипта.
Как создать батник для перезапуска службы: подробная инструкция
Батник (или пакетный файл) – это командный файл, который содержит набор команд операционной системы Windows. Он может использоваться для автоматизации различных задач, включая перезапуск службы. В этой подробной инструкции мы рассмотрим шаги по созданию батника для перезапуска службы.
- Откройте текстовый редактор (например, Блокнот).
- Для начала, в самом начале файла, введите команду sc query «имя_службы» | findstr STATE. Вместо имя_службы укажите имя службы, которую вы хотите перезапустить. Эта команда позволит вам узнать, запущена ли служба в данный момент.
- Затем, введите команду sc stop «имя_службы». Эта команда остановит службу, если она была запущена.
- Следующим шагом, введите команду sc start «имя_службы». Эта команда запустит службу после ее остановки.
В итоге, ваш батник будет выглядеть примерно так:
Помните, что имя службы должно быть точным и с учетом регистра. Если вы не знаете имя службы, вы можете проверить его в менеджере служб вашей операционной системы.
После создания батника, сохраните его с расширением .bat, например, restart_service.bat.
Теперь у вас есть готовый батник, который можно использовать для перезапуска службы в операционной системе Windows.
Выбор текстового редактора
При написании батника для перезапуска службы важно выбрать подходящий текстовый редактор. Текстовый редактор – это программное обеспечение, которое позволяет создавать и редактировать текстовые файлы.
При выборе текстового редактора для написания батника следует учитывать следующие факторы:
- Удобство использования: Текстовый редактор должен быть удобным и интуитивно понятным. Он должен обладать простым интерфейсом и удобными функциями, такими как подсветка синтаксиса и автодополнение.
- Поддержка языка: Важно выбрать текстовый редактор, который поддерживает язык, на котором написан батник. Некоторые редакторы могут предоставить дополнительную поддержку для батников, такую как автодополнение команд и проверка синтаксиса.
- Надежность: Текстовый редактор должен быть надежным и стабильным. Он должен сохранять внесенные изменения без потери данных и не вызывать сбоев.
- Расширяемость: Хороший текстовый редактор должен обладать возможностью расширения функционала с помощью плагинов и настроек. Это позволит вам настроить редактор по своему вкусу и повысить вашу производительность при написании батника.
Популярными текстовыми редакторами для написания батников являются:
- Notepad++: Бесплатный редактор, предоставляющий широкий набор функций, таких как подсветка синтаксиса, автодополнение, макросы и многое другое. Он поддерживает множество языков, включая Batch.
- Sublime Text: Платный редактор, который отличается высокой производительностью и богатым функционалом. Он также поддерживает подсветку синтаксиса и автодополнение для множества языков, включая Batch.
- Visual Studio Code: Бесплатный редактор, разработанный Microsoft. Он предлагает множество возможностей, включая подсветку синтаксиса, автодополнение, отладку и интеграцию с системами контроля версий. Он также поддерживает язык Batch.
Выбор текстового редактора остается за вами, исходя из ваших потребностей и предпочтений. Главное, чтобы редактор был удобным и соответствовал вашим требованиям при написании и редактировании батника для перезапуска службы.
Открытие текстового редактора
Для создания или редактирования скриптов и файлов в формате .bat рекомендуется использовать текстовый редактор, подходящий для работы с кодом. В данной статье будет рассмотрено открытие текстового редактора Notepad++.
Шаг 1: Загрузка и установка Notepad++
1. Перейдите на официальный сайт Notepad++ по адресу https://notepad-plus-plus.org/downloads/.
2. Нажмите на кнопку «Download» для загрузки установочного файла.
3. После завершения загрузки откройте установочный файл.
4. В появившемся окне установщика следуйте указаниям мастера установки, выбрав язык, путь установки и другие параметры по своему усмотрению.
5. По завершении установки Notepad++ будет доступен в меню «Пуск».
Шаг 2: Открытие файла в Notepad++
1. Запустите Notepad++, кликнув на его ярлык в меню «Пуск» или на рабочем столе, если ярлык был создан.
2. Нажмите на меню «Файл» в верхней части окна программы.
3. В выпадающем меню выберите пункт «Открыть…».
4. В диалоговом окне «Открыть» найдите и выберите нужный вам файл .bat.
5. Нажмите кнопку «Открыть» для загрузки файла в текстовый редактор.
Шаг 3: Редактирование файла в Notepad++
После открытия файла в Notepad++ вы можете внести необходимые изменения:
- Добавлять команды;
- Удалять и редактировать команды;
- Комментировать части кода;
- Исправлять синтаксические ошибки;
- Сохранять файл после внесения изменений.
Notepad++ предоставляет удобные возможности для редактирования и форматирования кода, включая подсветку синтаксиса, автоотступы и многое другое.
После внесения изменений в файл .bat сохраните его, нажав Ctrl + S или выбрав пункт «Сохранить» в меню «Файл».
Теперь вы знаете, как открыть текстовый редактор Notepad++ и редактировать файлы .bat. Успешного кодинга!
Создание нового документа
В этом разделе мы рассмотрим, как создать новый документ с помощью различных инструментов.
1. Создание нового документа в текстовом редакторе
Если вы предпочитаете использовать текстовый редактор для создания документов, следуйте этим инструкциям:
- Откройте текстовый редактор на вашем компьютере (например, Блокнот на Windows или TextEdit на Mac).
- Создайте новый пустой документ.
- Введите или скопируйте и вставьте необходимый текст в документ.
- Сохраните документ с помощью опции «Сохранить» или «Сохранить как», указав имя файла и выбрав расширение файла (например, .txt для текстовых файлов).
2. Создание нового документа в текстовом редакторе с подсветкой синтаксиса
Если вам нужно создать документ с подсветкой синтаксиса для определенного языка программирования, вы можете использовать специализированный редактор, который поддерживает данную функцию. Вот как это сделать:
- Откройте специализированный текстовый редактор, поддерживающий подсветку синтаксиса (например, Visual Studio Code, Sublime Text или Atom).
- Создайте новый пустой документ.
- Выберите язык программирования, для которого необходима подсветка синтаксиса, в настройках редактора.
- Введите или скопируйте и вставьте необходимый код в документ.
- Сохраните документ с помощью опции «Сохранить» или «Сохранить как», указав имя файла и выбрав расширение файла, соответствующее языку программирования (например, .py для файлов Python или .js для файлов JavaScript).
3. Создание нового документа в программе для обработки текста
Если вы предпочитаете использовать программу для обработки текста (например, Microsoft Word или Google Docs), следуйте этим инструкциям:
- Откройте программу для обработки текста на вашем компьютере (например, Microsoft Word или Google Docs).
- Создайте новый пустой документ.
- Введите или скопируйте и вставьте необходимый текст в документ.
- Настройте форматирование текста, добавьте заголовки, списки, таблицы и другие элементы, если необходимо.
- Сохраните документ с помощью опции «Сохранить» или «Сохранить как», указав имя файла и выбрав формат файла (например, .docx для Microsoft Word или .doc для старших версий Word).
4. Создание нового документа в онлайн-редакторе
Если у вас нет доступа к программам для обработки текста, вы можете воспользоваться онлайн-редактором, таким как Google Документы:
- Откройте браузер и перейдите на сайт онлайн-редактора (например, docs.google.com).
- Войдите в свою учетную запись, если это требуется.
- Создайте новый пустой документ.
- Введите или скопируйте и вставьте необходимый текст в документ.
- Настройте форматирование текста, добавьте заголовки, списки, таблицы и другие элементы, если необходимо.
- Сохраните документ с помощью опции «Файл» -> «Сохранить» или экспортируйте его в нужный формат.
Заключение
Теперь, когда вы знаете, как создать новый документ, вы можете выбрать наиболее удобный для вас способ и начать работу с ним. Не забывайте сохранять свои документы, чтобы не потерять проделанную работу.
Написание команды перезапуска службы
Для написания команды перезапуска службы с помощью батника:
- Откройте командную строку. Для этого нажмите Win + R, введите «cmd» и нажмите Enter.
- Создайте новый файл с расширением .bat. Например, «restart_service.bat».
- Откройте созданный файл в текстовом редакторе и введите команду для перезапуска службы. Обычно команда имеет следующий вид:
net stop [название службы]
net start [название службы]
Например, для перезапуска службы «Служба принтеров» команды будут выглядеть следующим образом:
net stop Spooler
net start Spooler
Примечание: Замените «[название службы]» на точное имя службы, которую вы хотите перезапустить.
- Сохраните файл.
- Запустите созданный файл. Для этого дважды щелкните по нему или выполните команду «start [путь до файла]» в командной строке.
После выполнения команды служба будет остановлена и затем снова запущена.
Примеры команд для перезапуска популярных служб в Windows:
Название службы | Команда перезапуска |
---|---|
Служба принтеров | net stop Spooler net start Spooler |
Служба Windows Update | net stop wuauserv net start wuauserv |
Служба DNS-клиента | net stop Dnscache net start Dnscache |
Служба брандмауэра Windows | net stop MpsSvc net start MpsSvc |
Важно: При использовании команды перезапуска службы будьте осторожны, так как некорректное выполнение команды может привести к неправильной работе системы.
Сохранение документа с расширением .bat
Для создания батника, необходимого для перезапуска службы, вам понадобится сохранить документ с расширением .bat. Вот пошаговая инструкция, как это сделать:
- Откройте текстовый редактор, такой как Блокнот, Notepad++ или другой подходящий инструмент.
- Создайте новый файл.
- Напишите необходимый код для запуска или перезапуска службы. Например, чтобы перезапустить службу «Служба принтеров», вы можете использовать команду net stop spooler & net start spooler .
- Сохраните файл с расширением .bat. Чтобы сделать это, выберите «Сохранить как» из меню «Файл».
- Выберите место, где вы хотите сохранить файл, и укажите имя файла. Например, «restart-print-spooler.bat».
- В поле «Тип файла» выберите «Все файлы (*.*)», чтобы использовать расширение .bat.
- Нажмите кнопку «Сохранить», чтобы сохранить файл.
Теперь у вас есть файл с расширением .bat, который можно использовать для перезапуска службы.
Установка графического значка батника
Батник — это исполняемый файл, который выполняет некоторые команды в командной строке операционной системы. Он может использоваться для автоматизации различных задач, включая перезапуск службы.
Один из способов сделать батник более наглядным и удобным для использования — это добавить графический значок. В операционной системе Windows это можно сделать с помощью программы Resource Hacker.
- Скачайте и установите Resource Hacker с официального сайта.
- Откройте батник в Resource Hacker.
- В левой панели найдите раздел «Иконки» и разверните его.
- Щелкните правой кнопкой мыши на любом свободном месте в панели «Иконки» и выберите пункт «Импорт…».
- Выберите файл с графическим значком (.ico) и нажмите «Открыть».
- Выберите нужный вам значок из списка и нажмите кнопку «ОК».
- Сохраните изменения, нажав на кнопку «Сохранить» или «Сохранить как…».
После этого ваш батник будет иметь выбранный вами графический значок. Теперь вы сможете легко различать его среди других файлов и использовать его для перезапуска службы или других задач.
Проверка работоспособности батника
Когда вы написали свой батник для перезапуска службы, важно убедиться, что он работает должным образом. Для этого можно провести простую проверку следующим образом:
- Откройте командную строку.
- Перейдите в папку, где находится ваш батник, используя команду cd . Например, если ваш батник находится в папке C:\Scripts , введите cd C:\Scripts .
- Запустите батник, введя его название с расширением. Например, если ваш батник называется restart_service.bat , введите restart_service.bat .
После запуска батника вы можете оценить его работу по следующим признакам:
- Служба перезапустилась успешно. Если служба была остановлена, она должна запуститься снова без ошибок.
- В командной строке не появилось никаких ошибок или предупреждений. Проверьте вывод батника на наличие любых сообщений об ошибках или проблемах.
- Вы можете проверить работоспособность службы, для которой написан ваш батник, например, попробовав подключиться к ней или проверить ее статус.
Если батник прошел все проверки успешно, это означает, что он верно выполняет свою задачу и готов к использованию. Если возникли какие-либо проблемы, внесите соответствующие исправления в код батника и повторите проверку.
Примечание: Помните, что при выполнении батников всегда существует риск нежелательных последствий. Убедитесь, что ваши батники не содержат ошибок и корректно выполняются до использования в производственной среде и регулярно делайте резервные копии важных данных.
Использование батника для перезапуска службы
Батник (пакетный файл с расширением .bat) — это скриптовый файл, который содержит набор команд, которые выполняются последовательно при его запуске. Одной из полезных возможностей батников является возможность использования их для перезапуска служб на компьютере.
Для того чтобы использовать батник для перезапуска службы, следуйте следующим шагам:
- Откройте текстовый редактор, такой как Notepad, и создайте новый файл.
- Введите команду для остановки службы. Например, для остановки службы «MyService» используйте команду net stop MyService .
- Введите команду для запуска службы. Например, для запуска службы «MyService» используйте команду net start MyService .
- Сохраните файл с расширением .bat. Например, назовите его «restart_service.bat».
Теперь вы можете дважды щелкнуть на файле .bat, чтобы запустить его и выполнить команды по остановке и запуску службы. После выполнения батника служба будет перезапущена.
Примечание: перед использованием батника для перезапуска службы, убедитесь, что у вас есть права администратора на компьютере, так как выполнение этих команд может требовать повышенных привилегий.
Вопрос-ответ
Почему мне может понадобиться написать батник для перезапуска службы?
Если у вас возникла необходимость перезапустить службу в Windows по расписанию, автоматически после падения или в других ситуациях, вы можете использовать батник. Это простой способ автоматизировать процесс перезапуска службы.
Как создать батник для перезапуска службы в Windows?
Для создания батника для перезапуска службы в Windows вам понадобится текстовый редактор, например, Блокнот. Откройте текстовый редактор и введите команду для остановки и запуска службы. Сохраните файл с расширением .bat.
Какой синтаксис использовать в батнике для перезапуска службы?
Для перезапуска службы в батнике используйте команды «net stop serviceName» для остановки службы и «net start serviceName» для запуска службы. Замените «serviceName» на имя службы, которую вы хотите перезапустить.
Как запустить батник для перезапуска службы?
Чтобы запустить батник для перезапуска службы, дважды щелкните по файлу .bat или откройте командную строку и выполните команду «имя_файла.bat». Батник запустит команды для остановки и запуска службы, перезапустив ее.
Можно ли настроить перезапуск службы по расписанию с помощью батника?
Да, вы можете настроить перезапуск службы по расписанию с помощью планировщика заданий Windows. Сначала создайте батник для перезапуска службы, затем откройте планировщик заданий, создайте новое задание, укажите расписание и путь к файлу .bat. Теперь служба будет перезапускаться автоматически.
How do I restart a Windows service from a script?
it errors out because sc doesn’t wait till the service is stopped. How do I restart a service with a script?
8 Answers 8
The poster wants to ensure the service is stopped before trying to restart it. You can use a loop on the output of «sc query» doing something like this:
May be missing something, but I use this all the time:
net stop «myservice»
net start «myservice»
Dead simple with powershell:
Even better, using display names:
Get-Help Restart-Service for more
If it is purely for restarting the service, you can use
However, if you want access to the options of sc, you can use the start /wait command
this technique is a more general solution that can be applied to any command.
To have quiet restart of some service, which asks confirmations to be stopped (as Server service, for example), You could add /y to the end of stop command.
It would be helpful for automatic script execution.
If you want to restart a failed service you do not need to run a script. In the services MMC snapin right click on a service, select properties, click the recovery tab. Here you can set what actions you want taken should the service stop. There is alot of flexibility available. You will need a script if y ou are trying to stop the service , do something then start the script, preface the batch file with net stop «myserviceshortname» and end with net start «myserviceshortname»
In vbscipt it’s a little more code to stop a service and its’ dependants:
Here’s starting a service and anything it depends on (this should be familiar)
You may use the following commands:
I made a hybrid: in *.cmd file:
You must log in to answer this question.
-
The Overflow Blog
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.10.19.43685
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.