2017-02-14 24 views

回答

1

您可以在使用sc命令for循環來完成你的腳本:

@echo off 
for /f "tokens=*" %%s in ('wmic service where started^=false get name') do (
    for /f "tokens=3" %%t in ('sc qc %%s ^|findstr /c:"START_TYPE"') do (
     if "%%t"=="2" net start %%s 
    ) 
) 
echo "The program has completed" 
pause>nul 

如果需要,你可以使用sc start,而不是net start

net start將在啓動任務完成後返回成功消息,而sc start將在處理服務啓動時返回消息。如果你是一個喜歡看到這個過程一步一步完成的人,那麼net start將是更好的選擇。

1

您可以嘗試使用相同的WMIC命令執行所有操作。

WMIC Service Where "StartMode='Auto' And Started='False'" Call StartService 

請記住,有些服務可能是延遲自動啓動或掛起,這不考慮這些信息。

+0

謝謝,它的工作,但有像「iClarityQoSService,isaHelperSvc和O2FLASH」這樣的服務,即使在自動後也不會啓動。 –

相關問題