是否可以從命令列切換禁用/啟用的設備,類似於設備管理員?

是否可以從命令列切換禁用/啟用的設備,類似於設備管理員?

我喜歡玩《Fallout 3》,它通常有很多 bug,當我添加了一些模組後更是如此。不用說,它崩潰了很多。我可以處理崩潰,唯一的問題是當我的聲卡陷入無限循環式播放時。

我可以透過在裝置管理員中開啟和關閉裝置(停用/啟用)來停止循環音頻,儘管必須一直進入裝置管理員很煩人。所以我希望能夠半自動化這個流程。

有沒有辦法使用批次腳本開啟和關閉設備?這樣我就可以將它放在桌面上並在我的聲卡開始循環時運行它。

答案1

在 Windows 10 上,您可以使用wmic.我更喜歡使用PNPDeviceIDin where 子句。您可以先查詢精確值:

wmic path Win32_PnPEntity where "PNPDeviceID like '%VEN%'" 

一旦你擁有它,然後使用:

wmic path Win32_PNPEntity where "PNPDeviceID='yourPNPDeviceIDname'" call disable

我發現了一些關於wmic非常有用的信息這裡

答案2

感謝 and31415 提供的鏈接,我能夠使用設備控制台 (DevCon) 實用程式為 McGyver 提供解決方案。

我已經複製了有關如何獲取該工具的說明這個答案:

開發者大會是一個命令列工具,可顯示有關設備的詳細信息,並允許您從命令列搜尋和操作設備。 DevCon 啟用、停用、安裝、設定和刪除本機上的設備,並顯示有關本機和遠端電腦上的設備的詳細資訊。

  1. .cab依照作業系統下載對應的軟體包:

  2. 開啟.cab存檔並提取名為fil[some letters and numbers].應該是 80 KB 左右。

  3. 將其重命名為devcon.exe.

使用這個工具,我能夠找出我的聲音卡的硬體 ID,並使用它來啟用和停用該裝置。由於我只需要切換設備,我的批次文件看起來就像這樣:

devcon.exe disable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"
devcon.exe enable "PCI\VEN_13F6&DEV_8788&SUBSYS_85221043"

那個較長的字串是硬體設備 ID。為了找到這個,我使用了 DevCon 的findall命令,將輸出通過管道傳輸到文字檔案以便於搜尋。

devcon.exe findall * > C:\output.txt

在搜尋我的裝置名稱時,我複製了所需的字串。


筆記:不幸的是,該批次仍然需要管理員權限才能運行,但這是一個小問題(我也許可以解決這個問題)稍後階段解決)。但就目前而言,這對我有用。

相關內容