setlocal enabledelayedexpansion
for %%b in (*.wav) do (
set duration=0
for /f "tokens=3,5" %%a in ('ffprobe -i "%%b" -show_entries format^=duration -v quiet -of csv^=p^=0') do (
echo 'asdf' >> test.txt
)
)
由于某些原因,上面的代码不能正常运行。当我删除“/f”部分时,它可以正常工作,但使用“/f”部分时,它不能设置duration变量。我尝试在该循环中执行“echo 'asdf'〉〉test.txt”,但也不起作用,我在使用/f的循环中的“do”子句中输入的任何内容都不起作用。
有什么想法吗?我试着删除“for %%B in(*.wav)do(“循环,也没有效果。
这是ffprobe单独运行时的输出。
C:\Users\deama\Desktop\Empire\voiceacting_samples\gothic2\xardas>ffprobe -i OUTR
O_XARDAS_14_10.WAV -show_entries format=duration -v quiet -of csv=p=0
4.129546
C:\Users\deama\Desktop\Empire\voiceacting_samples\gothic2\xardas>
带有for循环的脚本位于名为“pop.bat”的同一目录中。
1条答案
按热度按时间iklwldmw1#
看起来令牌或其他东西出了问题,下面的工作: