WMIC - 一個強而有力的工具

摘要:WMIC - 一個強而有力的工具

有一天認識十幾年的朋友忽然問我一個問題:「老張,如何將新增/移除程式的資料匯出來呢!?」,當下我只回他需要一點時間來查查資料。確實他問了一個我長年放在心裡的一個問題,畢竟身為一個PG,一開始的念頭就是使用 WMI 來寫一個程式,或許就可以解決這個問題,但有沒有更好的方法呢!? 忍不住又去找了一下資料,結果發現有一個強而有力的工具叫做「WMIC」,這工具就在「C:\Windows\system32\wbem」下,以下就用幾個範例來示範這工具的強大...

步驟一:在「C:\Windows\system32\wbem」對 WMIC.EXE 按右鍵選「執行身份」,並切換到 Administrator 身份


因為有一些指令必須要是Administrator才可以執行

步驟二:在開啟的 WMIC 視窗中鍵入「/?」,就可以看到 WMIC 所提供的相關語法


步驟三:在視窗中鍵入「/OUTPUT:D:\SAMPLE\CPU_清單.TXT CPU LIST FULL」,可將CPU相關的資訊匯出成 TXT 檔




步驟四:將WMIC視窗關閉,撰寫一個 BAT 檔來執行資料匯出的功能

BAT:

CD C:\WINDOWS\SYSTEM32\
CMD.EXE /C WMIC.EXE /OUTPUT:D:\SAMPLE\CPU_清單.TXT CPU LIST FULL
CMD.EXE /C WMIC.EXE /OUTPUT:D:\SAMPLE\BIOS_清單.CSV BIOS LIST FULL /FORMAT:CSV
CMD.EXE /C WMIC.EXE /OUTPUT:D:\SAMPLE\DISKDRIVE_清單.XLS DISKDRIVE LIST FULL /FORMAT:TABLE
CMD.EXE /C WMIC.EXE /OUTPUT:D:\SAMPLE\SERVICE_清單.XLS SERVICE LIST FULL /FORMAT:HTABLE
RUNAS /env /USER:Administrator "CMD.EXE /C WMIC.EXE /OUTPUT:D:\SAMPLE\PRODUCT_清單.XML PRODUCT GET NAME,VERSION /FORMAT:HXML"
PAUSE

上面的語法執行完後,就會在目的資料夾中出現五份文件,各位可以執行看看。其中特別要說明的是紅字部分,因為在執行 PRODUCT 這個指令時,必須要是 Administrator 身份,不然執行到一半就會失敗,所以在執行一些指令時要特別注意

參考:
Generate a List of Installed Programs in Windows
WMIC 的安全性
WMIC 參數
Windows WMIC命令詳解(Windows Management Instrumentation Command-line)
高手不為人知的批處理和強大的WMIC命令
批處理的api WMIC學習體會有感
用wmic查看進程命令行參數及路徑
用wmic獲取所有運行程序的運行參數