2010-05-04 97 views

回答

1

试试这个:

>NET START | FIND "Workstation" 

其中 “工作站” 是服务的名称

+0

我在做类似的用户输入的服务名称。但在继续我的剧本之前。我想确保他输入的服务是有效的。我不想启动服务.... – pdiddy 2010-05-04 17:23:40

+0

然后用参数替换“工作站”并将此命令的结果保存在变量中。然后检查它是否为空 – IMHO 2010-05-04 17:34:51

+0

小心当您寻找的任何东西*可能出现*在另一个服务的名称内。 – Joey 2010-05-04 18:07:45

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 

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

我的评论重复您的最后一篇文章(最后机会):_edit和格式化code_ – kleopatra 2012-11-02 15:44:16

+0

对不起,我不知道 – Logan78 2012-11-02 16:30:03

+0

仍然没有格式化;-)找出方法,点击问号显示格式菜单,然后点击“代码”来读取指令。或者,选择所有代码行,然后按Ctrl-k(仅在代码中没有选项卡时才有效) – kleopatra 2012-11-02 16:43:34

相关问题