【发布时间】:2013-12-16 06:43:02
【问题描述】:
我制作了一个批处理脚本来查找子目录中的 .flv 和 .mp4 文件,并在该子文件夹中创建一个同名的模板 .srt 文件。
问题是,我使用 FOR DO 循环,它似乎吐出命令的速度太快以至于它不可靠..
代码如下:
for /R %%f in (*.flv) do (
cd %%~nf
echo.1>> "%%~nf".srt
echo.00:00:00,500 --^> 00:00:03,500>> "%%~nf".srt
echo.%%~nf>> "%%~nf".srt
echo.>> "%%~nf".srt
echo.2>> "%%~nf".srt
echo.00:00:00,000 --^> 00:00:00,000>> "%%~nf".srt
echo.%%~nf>> "%%~nf".srt
cd..
)
for /R %%f in (*.mp4) do (
cd %%~nf
echo.1>> "%%~nf".srt
echo.00:00:00,500 --^> 00:00:03,500>> "%%~nf".srt
echo.%%~nf>> "%%~nf".srt
echo.>> "%%~nf".srt
echo.2>> "%%~nf".srt
echo.00:00:00,000 --^> 00:00:00,000>> "%%~nf".srt
echo.%%~nf>> "%%~nf".srt
cd..
)
如果一切顺利.. 对于 ./FILE1/FILE1.mp4 它会生成 ./FILE1/FILE1.srt 包含:
1
00:00:00,500 --> 00:00:03,500
FILE1
2
00:00:00,000 --> 00:00:00,000
FILE1
它只是针对前几个文件,然后这个过程似乎太快了,我在错误的 srt 文件中得到双打和错误的标题。
似乎 do ( ... ) 循环同时吐出所有命令。我什至尝试使用 PING 命令减慢它的速度,甚至尝试使用 GOTO 命令将工作分解为多个步骤,但没有运气。
我怎样才能让它一次执行一个命令,同时仍然能够使用 %%~nf 来创建和标记 .srt 文件??
非常感谢任何帮助!
【问题讨论】:
标签: windows loops batch-file for-loop