2010-05-04 4 views

ответ

1

Попробуйте это:

>NET START | FIND "Workstation" 

где "Рабочая станция" это имя службы

+0

Я делаю что-то вроде пользователь вводит имя службы , Но прежде чем продолжить свой сценарий. Я хочу убедиться, что введенная им услуга действительна. Я не хочу запускать службу .... – pdiddy

+0

, после чего вы заменяете «Workstation» параметром и сохраняете результат этой команды в переменной. Затем проверьте, не пуст ли он – IMHO

+0

Осторожно, когда все, что вы ищете, может отображаться * в * имени другого сервиса. – Joey

1
@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 

ИЛИ

@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 
+0

повторяет мой комментарий к вашему последнему сообщению (последний шанс): _edit и отформатируйте свой code_ – kleopatra

+0

Извините, я не знал – Logan78

+0

еще не отформатирован ;-), чтобы узнать, как это сделать, нажмите на вопросительный знак, чтобы отобразить меню форматирования, а затем «код», чтобы прочитать инструкцию. Кроме того, выберите все строки кода, затем ctrl-k (работает только в том случае, если в коде нет вкладок) – kleopatra

Смежные вопросы