首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我做错了什么

我做错了什么
EN

Stack Overflow用户
提问于 2016-08-26 17:24:31
回答 1查看 81关注 0票数 0

这就是批次

代码语言:javascript
复制
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%

我得到的不是最大差值,而是空白回波

代码语言:javascript
复制
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上运行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-26 17:48:34

我不确定是什么错误,但有一个解决办法:将您正在使用的命令的输出放在一个文本文档中,并从那里读取它。这对我很管用。

我直接将文本块复制到文件中进行测试;如果有其他情况,您可能需要检查%%x和%%y是否是所需的值。如果它们不是,您知道在哪里可以仔细查看:)

在批处理脚本的末尾,您只需删除文件即可。

代码语言:javascript
复制
@echo off
sox.exe Heavyrainambienc2801.wav -n stat 2>output.txt
for /f "skip=9 tokens=1-3" %%x in (output.txt) do (
if "%%x %%y"=="Maximum delta:" set maxDelta=%%z
)
echo %maxDelta%
del output.txt
pause
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39162875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档