Windows 10 - CMD - возврат текущего аудио устройства вывода

397
AndyBlak

Я немного покопался в Google и Stack, но у меня возникли проблемы с поиском метода в командной строке, который будет возвращать значение имени текущего устройства вывода звука. Я знаю, что это можно сделать в PowerShell, но я пытаюсь назначить скрипт как горячую клавишу, которая принимает только типы файлов EXE / BAT. Я написал оставшуюся часть сценария, но хотел бы написать IF / THEN, чтобы определить, какое устройство должен выбрать сценарий.

Вот что у меня так далеко:

@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 

Я хотел бы написать что-то вроде:

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

Таким образом, полный код будет:

@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 

Любая помощь приветствуется! Спасибо.

0

0 ответов на вопрос