我能夠拉下來的服務,並用下面的代碼在一個文件中列出它們,但需要幫助來設計腳本,它可以檢查服務,如果啓動類型是自動啓動它們。我想創建批處理腳本來啓動服務關閉和啓動類型是自動的
@echo off
wmic service where started=false get name >> stoppedservices.txt
echo "The program has completed"
我能夠拉下來的服務,並用下面的代碼在一個文件中列出它們,但需要幫助來設計腳本,它可以檢查服務,如果啓動類型是自動啓動它們。我想創建批處理腳本來啓動服務關閉和啓動類型是自動的
@echo off
wmic service where started=false get name >> stoppedservices.txt
echo "The program has completed"
您可以在使用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
將是更好的選擇。
您可以嘗試使用相同的WMIC命令執行所有操作。
WMIC Service Where "StartMode='Auto' And Started='False'" Call StartService
請記住,有些服務可能是延遲自動啓動或掛起,這不考慮這些信息。
謝謝,它的工作,但有像「iClarityQoSService,isaHelperSvc和O2FLASH」這樣的服務,即使在自動後也不會啓動。 –