É possível alternar dispositivos desabilitados/habilitados na linha de comando, semelhante ao Gerenciador de dispositivos?

É possível alternar dispositivos desabilitados/habilitados na linha de comando, semelhante ao Gerenciador de dispositivos?

Eu gosto de jogar Fallout 3, que normalmente apresenta muitos bugs, ainda mais depois de adicionar alguns mods. Escusado será dizer que ele trava muito. Eu posso lidar com as falhas, o único problema é quando isso acontece, minha placa de som fica presa em uma reprodução estilo loop infinito.

Posso interromper o loop de áudio ligando e desligando o dispositivo no Gerenciador de Dispositivos (Desativar/Ativar), embora seja irritante ter que entrar no Gerenciador de Dispositivos o tempo todo. Então, espero semiautomatizar o processo.

Existe uma maneira de ativar e desativar um dispositivo usando um script em lote? Dessa forma, eu poderia simplesmente colocá-lo na área de trabalho e executá-lo quando minha placa de som começar a entrar em loop.

Responder1

No Windows 10 você pode usar wmic. Eu prefiro usar PNPDeviceIDa cláusula in where. Você pode primeiro consultar o valor exato:

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

Depois de obtê-lo, use:

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

Encontrei algumas informações muito úteis sobre o wmicaqui

Responder2

Graças ao link fornecido por and31415, consegui uma solução para McGyver, usando o utilitário Device Console (DevCon).

Copiei as instruções sobre como obter a ferramenta emesta resposta:

DevConé uma ferramenta de linha de comando que exibe informações detalhadas sobre dispositivos e permite pesquisar e manipular dispositivos na linha de comando. O DevCon habilita, desabilita, instala, configura e remove dispositivos no computador local e exibe informações detalhadas sobre dispositivos em computadores locais e remotos.

  1. Baixe o .cabpacote apropriado dependendo do sistema operacional:

  2. Abra o .cabarquivo e extraia o arquivo chamado fil[some letters and numbers]. Deve ter cerca de 80 KB.

  3. Renomeie-o para devcon.exe.

Usando esta ferramenta, consegui descobrir qual era o ID do hardware da minha placa de som e usá-lo para ativar e desativar o dispositivo. Visto que preciso simplesmente alternar o dispositivo, meu arquivo em lote se parece com isto:

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

Essa string mais longa é o ID do dispositivo de hardware. Para descobrir isso, usei findallo comando do DevCon, canalizando a saída para um arquivo de texto para facilitar a pesquisa.

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

Procurando pelo nome do meu dispositivo, copiei a string que precisava.


Observação:Infelizmente, o lote ainda requer privilégios de administrador para ser executado, mas isso é um pequeno problema (e que talvez eu consiga resolver).resolver numa fase posterior). Mas, por enquanto, isso funciona para mim.

informação relacionada