如何使用命令提示符了解窗口服务的状态

时间:2016-05-05 11:44:17

标签: java batch-file service command-prompt

我使用批处理文件处理大约10个命令。在某个级别,我想只在我的特定窗口服务处于“运行”状态时继续。如何使用cmd命令了解服务的状态?如何将命令结果存储在批处理文件中的变量中,或者根据另一个命令的结果在批处理文件中执行命令?

2 个答案:

答案 0 :(得分:0)

查看此脚本http://pastebin.com/dyG9XYhC,我们正在使用它来重新启动和停止服务。

答案 1 :(得分:0)

@echo off
sc query Dhcp | findstr /i "STATE"
pause

您可以使用以下命令查看服务是否正在运行:

sc query ServiceName | findstr /i "STATE"

当我为 DHCP服务运行它时,我得到:

STATE                       : 4 RUNNING

如果停止了,我会得到:

STATE                       : 1 STOPPED

注意:服务名称应为服务名称,而不是显示名称

编辑于05/05/2016 @ 16:20

这是一个使用FOR命令检查某些服务状态的示例:

@echo off
Title Checking the state of some Services
set ServiceName=MozillaMaintenance MDM AdobeFlashPlayerUpdateSvc Winmgmt wuauserv ^
^ ALG AIPS Themes gupdate gupdatem msiserver AppInfo AppMgmt PlugPlay Power bthserv ^
^ NetLogon SamSs ProtectedStorage W32Time pla MpsSvc UxSms TabletInputService

For %%a in (%ServiceName%) do (
    echo Service %%a & sc query %%a | findstr /i "STATE"
)
pause