윈 도 우 파워쉘 문의입니다.
2022.08.03 09:30
안녕하세요 파워쉘 질문입니다
cmd에서
C:\>setsound 라는 파일을 실행하면 이런식으로 리스트가 나오는데요
Audio Device 1: 스피커(USB PnP Audio Device)
Audio Device 2: 스피커888(Realtek High Definition Audio)
C:\>
배치파일에서요
@echo off
pushd %~dp0
for /f "tokens=3 " %%h in ('setsound ^| findstr /i /c:"realtek"') do set speak=%%h
setsound %speak%
exit
이렇게 실행하면
위에 2번이 reaktek이니까
setsound :2 라고 치고서
리얼텍으로 변경이 되는데여
여기까지는 아무 문제가 없는데요
파워쉘에서
PS C:\> Get-AudioDevice -List
이렇게 치면
Index : 1
Default : False
Type : Playback
Name : 스피커(USB PnP Audio Device)
ID : {0.0.0.00000000}.{aac5ce6a-8142-4bfc-9921-7ff682cbe7b4}
Device : CoreAudioApi.MMDevice
Index : 2
Default : True
Type : Playback
Name : 스피커888(Realtek High Definition Audio)
ID : {0.0.0.00000000}.{f824b3ca-014c-4360-9995-d16399313586}
Device : CoreAudioApi.MMDevice
Index : 3
Default : True
Type : Recording
Name : 마이크(USB PnP Audio Device)
ID : {0.0.1.00000000}.{a4adac0f-6fa5-4b75-b18f-74bee624739b}
Device : CoreAudioApi.MMDevice
이런 결과가 나오는데요
배치파일로 -_-
for /f "tokens=3 " %%h in ('setsound ^| findstr /i /c:"realtek"') do set speak=%%h
setsound %speak%
이 두줄 같은걸 파워쉘에선 어떻게 할지 모르겟어여
알려주세요 ㅠㅠ
get-help example 잔뜩 쳐보고 검색해봣는데 1시간째 개지랄만 ㅠㅠ 아 스트레스 받아서
파워쉘 쓰시는분 알려주시면 감사합니다 ..
댓글 [11]
-
녹색조각 2022.08.03 09:53
-
베루두 2022.08.03 16:08
답변 감사합니다 아주 잘 됩니다 ^^&
-
Nic네임 2022.08.03 10:53
Set-AudioDevice -Index 3 -DefaultOnly
이 cmdlet이 기본 사운드 장치를 설정하는 cmdlet입니다.
해당 cmdlet을 응용하면 아래와 같은 간단한 스크립트가 나옵니다.
Get-AudioDevice -List
$index = Read-Host -Prompt 'Index 번호를 입력해주세요.'
Set-AudioDevice -Index $index -DefaultOnly
-
Nic네임 2022.08.03 10:57
예외처리는 알아서 하시길 바랍니다.
-
베루두 2022.08.03 16:09
감사합니다 많은 도움이 되었습니다;
-
지후빠 2022.08.03 11:54
Get-AudioDevice -List | Where-Object {$_.Name -like "*Realtek*"} | Set-AudioDevice
cmdlet 자세한 것은 다음 링크 참고하십시오.
setsound 프로그램은 어디서 구할 수 있을까요? ^^
-
베루두 2022.08.03 16:11
감사합니다~~` setsound는 이름이 길어서 그냥 대충 -_- 변경한것이구요
audio end point controller 입니다. 안에 찾아보시면 영어말고 외국어나 한국어 ? 안나오는 버전이 있고요
장점은 별도 설치가 없어도 되고 c++이라서 파워셀이나 이런거보다 빨라요.
https://github.com/DanStevens/AudioEndPointController
-
지후빠 2022.08.03 16:41
감사합니다. ^^
실행 파일 하나 들어 있는데 에러나고 실행이 안됩니다.ㅜㅜ
-
베루두 2022.08.04 06:51
setsound.exe setsound한글.exe ㅜㅜ 컴파일 직접하시거나 release에 있는 실행파일이 실행이 안되나요? 엄청 많은 pc들에서 쓰고 있는데 (5000대 넘게;) 파일이름만 바꿔놓은것이고요 한글이라고 되어있는건 한글은 나오는데 -a가 안되던가 그럴거에요.
문제가 발견된적은 없는데 혹시 윈도우 쓰시는거 맞죠?
-
지후빠 2022.08.04 10:35
감사합니다. ^^ 한글exe 만 실행됩니다. (필요한 c++ 라이브러리가 저에게 없어서 그럴 수 있겠습니다.ㅜㅜ)
-a 안되는 것은 -a -f 옵션 같이 써주니 문제 없는 것 같습니다.
예) setsound한글.exe -a -f "%d - %ws" 또는 setsound한글.exe -f "%d - %ws"
윈10 2015를 아직 업무용으로 사용중인데 오디오 출력전환이 트레이 스피커 아이콘 부분에 없어서 몇 가지를 사용중입니다.
- SoundSwitch ; https://soundswitch.aaflalo.me/ --- 쓸데 없이 용량이 커서 조기 퇴출
- Audio Switcher ; https://audioswit.ch/er --- 용량도 작도 단축키 등의 장점이 있습니다. 추천
- nircmd setdefaultsounddevice ; https://nircmd.nirsoft.net/setdefaultsounddevice.html --- 초기에 사용
문제 생기면 안되는 PC라서 꼭 필요한 것 아니며 설치를 안합니다. cmdlet 도 마찮가지입니다.
예전에 제가 바라는 형태의 프로그램이라서 반갑네요. ㅋ~
-
지후빠 2022.08.13 12:36
https://www.raymond.cc/blog/easily-change-or-switch-the-default-audio-sound-output-in-windows-vista-and-xp/
해당 모듈을 설치해도 저는 명령어가 잘 안먹혀서 확인은 못해봤지만 아래 링크를 한번 참조해보시는건 어떨까요
https://community.spiceworks.com/topic/2292318-select-audio-device-with-powershell