【发布时间】:2016-08-26 09:24:30
【问题描述】:
这是批次
for /f "skip=9 tokens=1-3" %%x in ('sox.exe Heavyrainambienc2801.wav -n stat') do (
if "%%x %%y"=="Maximum delta:" set maxDelta=%%z
)
echo %maxDelta%
我得到的是空白回声,而不是最大增量值
Samples read: 11832320
Length (seconds): 123.253333
Scaled by: 2147483647.0
Maximum amplitude: 0.999939
Minimum amplitude: -0.999969
Midline amplitude: -0.000015
Mean norm: 0.488960
Mean amplitude: -0.000082
RMS amplitude: 0.570900
Maximum delta: 1.999878
Minimum delta: 0.000000
Mean delta: 0.651948
RMS delta: 0.807396
Rough frequency: 10804
Volume adjustment: 1.000
Try: -t raw -e mu-law -b 8
C:\1>echo
ECHO is on.
我不确定这是否重要,但它在 Windows 10 上运行
【问题讨论】:
-
你的代码没问题。是within another code-block吗?
-
请提供一个具体的问题标题!!
sox.exe的输出是如何格式化的——ANSI/Unicode?span> -
不,它是单独的代码,我不知道sox.exe的格式
-
如果您知道第 10 行有您想要的信息,为什么还要添加
if命令?只需在该行取第三个标记... -
我指的是
sox.exe的输出,而不是应用程序本身;尝试执行以下操作:sox.exe Heavyrainambienc2801.wav -n stat > "\path\to\file.txt",然后用记事本打开返回的文件file.txt,然后转到“文件»另存为...”;在“另存为”对话框中,“编码:”字段中选择了什么?
标签: batch-file sox