如何使用批处理文件检查WinService状态?

时间:2014-09-22 14:27:04

标签: windows batch-file service

我创建了一个WinService并在Scheduled Tasks上设置它的启动和停止。但是,每天服务启动大约20秒后,即使在计划任务中,如果启动失败,我也会重新启动,它会自动停止而不会发出任何警报。因此,我必须每天早上手动重新启动服务。现在,我想编写一个可以执行以下任务的批处理文件:

  1. 检查WinService的运行位置
  2. 如果不在1),请启动服务
  3. 写下1)和2)的记录。
  4. 感谢您是否可以为其提供演练程序。

1 个答案:

答案 0 :(得分:0)

@echo off

set "sevice_name=WinService"

sc query "%sevice_name%" | find /i "running" || (
    echo service "%sevice_name%" is stopped
    sc start "%sevice_name%"
    goto :end

) >> log.txt

:end
echo service "%sevice_name%" is running >> log.txt