如何检查批处理文件中是否存在Windows服务
答
试试这个:
>NET START | FIND "Workstation"
其中 “工作站” 是服务的名称
答
@echo off
color 1F
SET KEYS=HKLM\SYSTEM\CurrentControlSet\services\ACPI
for /f "tokens=3" %%i in ('REG QUERY "%KEYS%" ^| find "Start"') do set START=%%i
IF "%START%" == "%START%" ECHO %START% | find /I "%START%" && IF "%START%" NEQ "0x3" REG ADD %KEYS% /v "Start" /t REG_DWORD /d 3 /f >> %COMPUTERNAME%_MODIFIER.TXT
IF ERRORLEVEL 1 ECHO %KEYS% >> %COMPUTERNAME%_SERVICE_MISSING.TXT
OR
@echo off
color 1F
@sc query >%COMPUTERNAME%_START.TXT
ECHO REPORT MISSING INSTALL SERVICES >%COMPUTERNAME%.TXT
find /I "AcPrfMgrSvc" %COMPUTERNAME%_START.TXT >nul
IF ERRORLEVEL 1 NET START "AcPrfMgrSvc"
IF ERRORLEVEL 1 ECHO AcPrfMgrSvc >>%COMPUTERNAME%.TXT
我在做类似的用户输入的服务名称。但在继续我的剧本之前。我想确保他输入的服务是有效的。我不想启动服务.... – pdiddy 2010-05-04 17:23:40
然后用参数替换“工作站”并将此命令的结果保存在变量中。然后检查它是否为空 – IMHO 2010-05-04 17:34:51
小心当您寻找的任何东西*可能出现*在另一个服务的名称内。 – Joey 2010-05-04 18:07:45