web-dev-qa-db-ja.com

デバイスマネージャと同様に、コマンドラインから無効/有効なデバイスを切り替えることはできますか?

私は通常非常にバグのあるFallout3をプレイするのが好きで、いくつかのmodを追加するとさらにそうなります。言うまでもなく、それはたくさんクラッシュします。クラッシュに対処できますが、唯一の問題は、サウンドカードが無限ループスタイルの再生に巻き込まれる場合です。

デバイスマネージャーでデバイスのオンとオフを切り替える(無効/有効)ことで、オーディオのループを停止できますが、常にデバイスマネージャーにアクセスする必要があるのは面倒です。だから私はプロセスを半自動化したいと思っています。

バッチスクリプトを使用してデバイスのオンとオフを切り替える方法はありますか?そうすれば、デスクトップに置いて、サウンドカードがループし始めたときに実行できます。

2
Robotnik

And31415によって提供されたリンクのおかげで、デバイスコンソール(DevCon)ユーティリティを使用してMcGyverソリューションを作成することができました。

ツールを入手する方法の説明をコピーしました この回答

DevCon は、デバイスに関する詳細情報を表示するコマンドラインツールであり、コマンドラインからデバイスを検索して操作できます。 DevConは、ローカルコンピューター上のデバイスを有効化、無効化、インストール、構成、および削除し、ローカルコンピューターとリモートコンピューター上のデバイスに関する詳細情報を表示します。

  1. オペレーティングシステムに応じて、適切な.cabパッケージをダウンロードします。

  2. .cabアーカイブを開き、fil[some letters and numbers]という名前のファイルを抽出します。約80KBである必要があります。

  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

デバイス名を検索して、必要な文字列をコピーしました。


注:残念ながら、バッチを実行するには管理者権限が必要ですが、それは小さな問題です(そして、私ができるかもしれない問題です で解決する後の段階 )。しかし今のところ、これは私にとってはうまくいきます。

1
Robotnik


win10ではwmicを使用できます。 where句でPNPDeviceIDを使用することを好みます。最初に正確な値を照会できます。 wmic path Win32_PnPEntity where "PNPDeviceID like '%VEN%'"そしてあなたがそれを持っているときそれから使用しなさい:

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

Wmicに関する非常に役立つ情報をいくつか見つけました ここ

1
kokosnakokos