rds的批处理命令

Batch commands for rds

我有一个关于我的广播电台的项目,我在其中复制广播内容的 .wsx 文件中的文本,并使用类似

set /p TEXTO= 0<R:.wsx
wget -q "http://x.x.x.x:7380/parameter/fm/rds/rds_rt=%TEXTO%" -O NUL

效果很好,但如果是音乐或促销,它不会过滤。

我的挑战是能够过滤并仅解析音乐名称。

对于这个过程,我将我不想显示的文件标记为商业或促销,以不带引号的“@-”开头。

因此文本将显示为 @-Promo1

我的代码:

for /F "delims=" %%a in ('FINDSTR "\<@-.*"  C:\RDS\PRUEBAS\txt1.wsx') do set 
"VAR=%%a"
  echo %VAR% 
 if "%VAR%" == "true" (
    set /p VAR=0<C:\FILEPATH\LOS40.wsx & wget -q 
"http://x.x.x.x:7380/parameter/fm/rds/rds_rt=%VAR%" -O NUL 
) else (
    set /p TEXTO=0<C:\FILEPATH\ENVIVO.wsx & wget -q 
"http://x.x.x.x:7380/parameter/fm/rds/rds_rt=%TEXTO%" -O NUL
)

我似乎找不到正确的过滤方法。

请帮助...

for /F "delims=" %%a in ('FINDSTR "\<@-.*"  C:\RDS\PRUEBAS\txt1.wsx') do set 

应该是

for /F "delims=" %%a in ('FINDSTR /b "@-"  C:\RDS\PRUEBAS\txt1.wsx') do set 

.wsx 文件中找到那些 /b 以“@-”开头的行

如果你想找到那些 不是 以“@-”开头的行,那么将 /v 添加到 /b.

结果将是文件中不以“@-”开头的一行,该行将放置在 %%a

如果您直接将 %%a 分配给一个变量,该变量将在 for 之后包含分配给它的最后一个值。

如果要对每个名称执行 wget,请使用

for /F "delims=" %%a in ('FINDSTR /B "@-"  C:\RDS\PRUEBAS\txt1.wsx') do (
 echo %%a
)

在括号之间,您可以使用 %%a 作为文件名来执行命令。

相当你打算做什么是晦涩难懂的。我不知道来自无法解释的文件的 set/p 是什么意思, 但是 请注意,括号之间的任何代码都受 delayedexpansion 陷阱的约束 -请说明您打算对 [不] 匹配前导 @-.

的文件名进行何种处理

您应该阅读 delayed expansion 上的 SO 项目(记录有无 space)以了解处理在循环内更改的值的问题和解决方案。

首先感谢您的帮助。我没有编码经验。

让我再解释一下..

正如我之前所说,它是一个广播电台,它将使用 RDS 协议向 Car 或家庭立体声系统提供文本,该协议允许我发送歌曲名称、标题等文本。

在我的情况下,让我发送文本的音频处理器将收到信息作为 URL,我在末尾添加了我要发送的文本。

例如:

http://x.x.x.x:7380/parameter/fm/rds/rds_rt=%TEXTO%

%TEXTO% 将是我发送的文本。

C:\RDS\PRUEBAS\txt1.wsx 包含当前正在播放的文本以及正在读取的文本,以查看脚本的 @- 是否可以避免发送这些标题。

我有一台 PC 运行正在运行一个目录监控程序,它将监控文件 C:\RDS\PRUEBAS\txt1.wsx 上的事件,一旦被修改,它就会执行批处理文件 CHECKRDS.cmd。

测试后我决定 运行 CHECKRDS.cmd 中的代码,例如:

for /F "delims=" %%a in ('FINDSTR /v "@-"  R:PPALES.wsx') do (
  START "" RDS.bat
 )
EXIT

RDS.bat 包含代码并且工作正常:

set /p TEXTO= 0<C:\RDS\PRUEBAS\txt1.wsx
wget -q "http://x.x.x.x:7380/parameter/fm/rds/rds_rt=%TEXTO%" -O NUL
EXIT

至于 set /p 我是从 What does /p mean in set /p?

测试的

正如我之前所说,我是编码方面的新手,我只是用谷歌搜索了所有内容并开始破解拼图的各个部分。

请,如果您认为我应该以不同的方式执行这些过程,请告诉我..

抱歉我的英语不好..

问候