
探討批處理WMIC檢測是否可用WMIC應用范圍廣泛,但有很多系統(tǒng)不帶或者默認沒有安裝,我們寫的長篇代碼如果涉及到以上程序,需要預先做個判斷,我的腳本編寫水平停留在09年,僅個人業(yè)余愛好,閑來無事逛逛論壇,貼出我以前寫的代碼拋磚引玉,以便共同交流學習。
nclick="copycode($('code0'));">復制代碼
- @echo off & setlocal EnableDelayedExpansion
- :begin
- ::判斷wmic.exe是否存在,不存在跳轉,存在則最小化運行wmic.exe,延遲2秒
- if not exist C:WINDOWSsystem32wbemwmic.exe (goto wmic_error) else (start/min wmic.exe)
- ping -n 2 127.1>nul
- ::進程檢測wmic.exe是否存在,不存在則跳轉repair_wmic段,存在則結束進程到next段代碼
- tasklist /nh | findstr /i /c:wmic.exe
- if errorlevel 1 ( goto repair_wmic ) else ( taskkill /f /im wmic.exe & goto next )
- :repair_wmic
- if not exist C:WINDOWSsystem32wbemwmic.exe (goto wmic_error) else (copy C:WINDOWSsystem32wbemwmic.exe C:WINDOWSsystem32wmic.exe>nul)
- if exist C:WINDOWSsystem32wbemframedyn.dll copy C:WINDOWSsystem32wbemframedyn.dll C:WINDOWSsystem32framedyn.dll>nul & sc start wmiApSrv
- goto next
- :wmic_error
- echo MsgBox 親愛的朋友,缺少關鍵文件wmic.exe!, 64, 缺少關鍵文件!>>%temp%wmic.vbs
- start %temp%wmic.vbs & exit
- :next
- echo 開始你想執(zhí)行的代碼吧
- pause
第一段我寫的代碼,第二段是論壇上找的用于設置環(huán)境變量,有時候就是環(huán)境變量設置的問題,導致腳本無法執(zhí)行,期待大家探討下。nclick="copycode($('code1'));">復制代碼
- @echo off
- help|find /i wmic && echo;已安裝wmic||echo;未安裝wmic && set path=%path%;C:WindowsSystem32Wbem && WMIC
- pause

