gpt4 book ai didi

windows - 批处理文件 : assign decimal value to variable

转载 作者:可可西里 更新时间:2023-11-01 10:39:58 26 4
gpt4 key购买 nike

此脚本从 OGG 文件目录中运行。

cd c:\dirWithOGG
for %%f in (*.ogg) do (
sox %%f %%f pad 0 "soxi -D %%f"
sox %%f %%f repeat 10
)

我第一次必须创建批处理脚本,我认为这很容易。

soxi -D %%f

就其本身而言,上面的代码返回一个十进制值。由于某种原因,它不会在脚本中执行。 soxsoxi 位于添加到 PATH 的位置。

感谢任何帮助,谢谢。

最佳答案

如果你想使用 soxi -D %%f 的输出作为 sox 的命令行参数, 以下是您可以如何做到这一点:

FOR %%f IN (*.ogg) DO CALL :runsox "%%f"
GOTO :EOF

:runsox
soxi -D %1>tmpfile
SET /P decvalue=<tmpfile
sox %1 %1 pad 0 %decvalue%
sox %1 %1 repeat 10

如您所见,循环内的命令已移至循环正在调用的子例程中。除此之外,soxi 的输出被重定向到一个文件,然后该文件被读入一个变量,该变量又用于将值传递给 sox .

实际上是因为变量的原因,我不得不将命令移到循环之外。除非启用延迟扩展并使用不同的语法来寻址变量,否则它将在循环内不正确地工作。不过,我更喜欢按上面的方式实现它。

关于windows - 批处理文件 : assign decimal value to variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5058285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com