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