Windows 10 - CMD - Retornar dispositivo de saída de áudio atual

0

Já fiz algumas pesquisas no Google e no Stack, mas estou com dificuldades para encontrar um método na linha de comando que retorne o valor do nome do dispositivo de saída de som atual. Eu sei que isso pode ser feito no PowerShell, mas estou tentando atribuir o script como uma tecla de atalho que aceita apenas os tipos de arquivo EXE / BAT. Eu tenho o resto do script escrito, mas gostaria de escrever um IF / THEN para ditar qual dispositivo o script deve selecionar.

Aqui está o que eu tenho até agora:

@echo off
setlocal enableextensions
setlocal enabledelayedexpansion
set $title=---- Swapping Sound Output Device ----
set $error=%ERRORLEVEL%
title Sound Output Swap
call :Splash
exit /B %ERRORLEVEL%
:Splash
cls
echo %$title%
cd "C:\Users\Main\Desktop\Utilities\Tools\NirSoft Tools\NirSoft\"
nircmd.exe "setdefaultsounddevice" "X-Fi Headphones" "0" , , Hide
nircmd.exe "setdefaultsounddevice" "X-Fi Headphones" "1" , , Hide
nircmd.exe "setdefaultsounddevice" "X-Fi Headphones" "2" , , Hide
echo "Output set to: X-Fi Headphones."
timeout /t 5
exit

Eu gostaria de escrever algo como:

if %$input% EQU "Headset" (
set %$swap% = "X-Fi Headphones"
)
if %$input% EQU "X-Fi Headphones" (
set %$swap% = "Headset"
)
nircmd.exe "setdefaultsounddevice" %$swap% "0" , , Hide

Então, o código completo seria:

@echo off
setlocal enableextensions
setlocal enabledelayedexpansion
set $title=---- Swapping Sound Output Device ----
set $error=%ERRORLEVEL%
set $input=null
set $swap="X-Fi Headphones"
title Sound Output Swap
call :Splash
exit /B %ERRORLEVEL%
:Splash
cls
echo %$title%
cd "C:\Users\Main\Desktop\Utilities\Tools\NirSoft Tools\NirSoft\"
if %$input% EQU "Headset" (
set %$swap% = "X-Fi Headphones"
)
if %$input% EQU "X-Fi Headphones" (
set %$swap% = "Headset"
)
nircmd.exe "setdefaultsounddevice" %$swap% "0" , , Hide
nircmd.exe "setdefaultsounddevice" %$swap% "1" , , Hide
nircmd.exe "setdefaultsounddevice" %$swap% "2" , , Hide
echo "Output set to: " & %$swap% & "."
timeout /t 5
exit

Qualquer ajuda é apreciada! Obrigado.

    
por AndyBlak 17.07.2018 / 01:53

0 respostas