我是BAT / CMD编程的新手。
我在文件目录“ C:\ Custom_BATS \ Audio_Swap \ CurrentDevice.txt”中有一个名为“ CurrentDevice”的文件
在此文件中,它会显示“ Speakers”或“ Headphones”。
我希望我的BAT文件打开文本文件并遵循下面的伪代码
否则,如果文本==“ Headphones”
我认为这很简单,但是我在网上找到很多行话感到吃力。
到目前为止,这是我的代码
"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" set /p text=
if "%var%"=="Headphones"
(
nircmd setdefaultsounddevice "Speakers" 1
"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" echo Speakers
)
else if "%var%"=="Speakers"
(
nircmd setdefaultsounddevice "Headphones" 1
"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" echo Headphones
)
答案 0 :(得分:1)
我的解决方案
@echo off setlocal set "text.1=Speakers" set "text.0=Headphones" if exist "%~dpn0.flag" ( set "text.0=%text.1%" del /q "%~dpn0.flag" ) else type nul > "%~dpn0.flag" nircmd setdefaultsounddevice "%text.0%" 1 endlocal
答案 1 :(得分:0)
非常接近:
<"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" set /p text=
if "%text%"=="Headphones" (
nircmd setdefaultsounddevice "Speakers" 1
>"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" echo Speakers
) else (
nircmd setdefaultsounddevice "Headphones" 1
>"C:\Custom_BATS\Audio_Swap\CurrentDevice.txt" echo Headphones
)
您只是错过了重定向<
和>
并弄乱了if
语法。