Czy możliwe jest przełączanie wyłączonych / włączonych urządzeń z wiersza poleceń, simlar do Menedżera urządzeń?


1

Lubię grać w Fallout 3, który jest normalnie bardzo wadliwy, a tym bardziej, gdy dodam kilka modów. Nie trzeba dodawać, że bardzo się psuje. Mogę sobie poradzić z awariami, jedynym problemem jest to, że moja karta dźwiękowa zostaje złapana w niekończące się odtwarzanie w stylu pętli.

Mogę zatrzymać zapętlanie dźwięku, włączając i wyłączając urządzenie w Menedżerze urządzeń (Wyłącz / Włącz), chociaż denerwujące jest ciągłe przechodzenie do Menedżera urządzeń. Mam nadzieję, że częściowo zautomatyzuję ten proces.

Czy istnieje sposób włączania i wyłączania urządzenia za pomocą skryptu wsadowego? W ten sposób mogłem po prostu umieścić go na pulpicie i uruchomić, gdy moja karta dźwiękowa zacznie się zapętlać.


System Windows nie zapewnia sposobu włączania / wyłączania urządzeń z interfejsu wiersza polecenia, ale można użyć tego devconnarzędzia. Zobacz podobne pytanie: Czy automatycznie wyłączać zintegrowaną kamerę internetową, gdy podłączona jest zewnętrzna?
i31415

@ and31415 - Dzięki, to brzmi dokładnie tak, jak potrzebuję :).
Robotnik

możesz także użyć poleceń WMIC
Ali786,

Odpowiedzi:


1

Dzięki linkowi dostarczonemu przez and31415 udało mi się McGyver rozwiązać za pomocą narzędzia Device Console (DevCon).

Skopiowałem instrukcje, jak uzyskać narzędzie z tej odpowiedzi :

DevCon to narzędzie wiersza polecenia, które wyświetla szczegółowe informacje o urządzeniach oraz umożliwia wyszukiwanie i manipulowanie urządzeniami z poziomu wiersza poleceń. DevCon włącza, wyłącza, instaluje, konfiguruje i usuwa urządzenia na komputerze lokalnym oraz wyświetla szczegółowe informacje o urządzeniach na komputerach lokalnych i zdalnych.

  1. Pobierz odpowiedni .cabpakiet w zależności od systemu operacyjnego:

  2. Otwórz .cabarchiwum i rozpakuj plik o nazwie fil[some letters and numbers]. Powinien wynosić około 80 KB.

  3. Zmień nazwę na devcon.exe.

Za pomocą tego narzędzia udało mi się ustalić, jaki był identyfikator sprzętu dla mojej karty dźwiękowej, i użyć go do włączenia i wyłączenia urządzenia. Widząc, że po prostu muszę przełączyć urządzenie, mój plik wsadowy wygląda tak:

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

Ten długi ciąg jest identyfikatorem urządzenia sprzętowego. Aby to znaleźć, użyłem findallpolecenia DevCon , przesyłając dane wyjściowe do pliku tekstowego w celu łatwego wyszukiwania.

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

Szukając nazwy mojego urządzenia, skopiowałem ciąg, którego potrzebowałem.


Uwaga: Niestety partia nadal wymaga uprawnień administratora, ale jest to niewielki problem (który mogę rozwiązać na późniejszym etapie ). Ale na razie to działa dla mnie.


Czy to działa w systemie Windows 10?
Fuhrmanator,

@Fuhrmanator nie mam pojęcia, nie mam systemu Windows 10, ale nie rozumiem, dlaczego nie.
Robotnik

Na W10 (i tylko ) możesz alternatywnie użyćwmic path Win32_PNPEntity where name="whatever" call disable
mirh

0


na win10 możesz użyć wmic. Wolę używać PNPDeviceID w klauzuli where. Możesz najpierw zapytać o dokładną wartość. wmic path Win32_PnPEntity where "PNPDeviceID like '%VEN%'"a kiedy go masz, użyj:

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

Znalazłem kilka bardzo przydatnych informacji o wmic tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.