检查服务状态,然后对用户执行命令和回显状态

时间:2014-10-30 02:11:18

标签: windows batch-file

我正在尝试创建一个脚本来检查服务Print Spooler是否正在运行。

下面列出了启动和停止以及检查状态的命令。

sc start Spooler # Starts service

sc stop Spooler # Stops service

sc query Spooler # Returns status of Spooler

我想隐藏用户输出的这些命令。

我想检查服务是否正在运行。

如果是,则回显给用户" Print Spooler已经运行。"然后在关闭之前暂停。

如果不是,那么回声"服务停止"然后启动服务并回复"服务启动器"然后在关闭之前暂停。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

为什么你想做一些如此迂回的事情。我们不做测试,然后测试是否有效。测试通常使用与执行相同的资源,因此您将电池寿命缩短了两倍,使其他程序的速度降低了两倍。

@echo off
sc start spooler>%temp%\status.txt
findstr /c:"1056"<%temp%\status.txt>nul&&(Echo Service Already Running&pause&Goto :EOF)
findstr /c:"FAILED"<%temp%\status.txt>nul&&(Echo Service Can't Start&pause&Goto :EOF)||(Echo Service Started&pause&Goto :EOF)