Windows
WMIC 命令有效,但在 powershell 腳本中不起作用
#Get Data Rate wmic "/OUTPUT:'C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic where 'NetEnabled = True' 'get Name,MacAddress,Speed'"
直接在控制台中執行它就可以了。那隻是因為在控制台中,我可以這樣做:
ps C:\>wmic wmic:root\cli>/OUTPUT:"C:\Users\user\Documents\DATE RATE\Data_Rate-ts8"+".txt" nic netenabled ="True" wmic:root\cli>exit ps C:\>
在 powershell 腳本中,我不能簡單地先鍵入 WMIC,然後再鍵入命令的其餘部分,否則它會通過輸入 WMIC 提示符來中斷腳本,等待使用者鍵入並且不再執行腳本。
當我把它放在一個 powershell 腳本(第一個片段)中時,我不斷得到:
未找到別名
我嘗試了不同的引號組合。但是我上面發布的腳本專門給了我:
“/OUTPUT:‘C:\Users\user\Documents\DATE RATE TESTS\Data_Rate-ts8’+’.txt’ nic where ‘NetEnabled = True’ ‘get Name - Alias not found.
您確定要繼續使用 WMIC 嗎?如果您使用的是 powershell,您可能會發現使用本機 powershell cmdLets 來獲取相同的資訊更有用。
根據您對文件所做的操作,這可能允許您跳過該文件。您還可以將 WMI 查詢結果通過管道傳輸到
| foreach { }
get-wmiobject Win32_NetworkAdapter -filter 'NetEnabled = True' | select-object Name,MacAddress,Speed | format-list | out-file dataRate.txt