【发布时间】:2013-05-29 05:14:13
【问题描述】:
我正在创建这个与 handbrakecli 配合使用的批处理文件,以将 avi 批量转换为 mp4。
但是我被困在如何继续循环并跳过循环内的当前文件。
FOR /R "%somepath%" %%G in (*.avi) DO (
rem skip if filename contains word trailer
rem skip if file name contains word sample
rem do conversion
)
目前这不适用于跳过包含预告片或示例的文件
我尝试过使用 find 或 findstr 都无法跳过。
echo "%%G" | c:\windows\system32\findstr /i "trailer" > NUL
If %ERRORLEVEL% EQU 1 set skip Yes
这里是示例。
echo "%%G" | c:\windows\system32\findstr /i "sample" > NUL
If %ERRORLEVEL% EQU 1 set skip Yes
如果文件包含预告片或样本,我不想进行任何 handbrakecli 转换,而只是跳过它。
我会通过 echo 显示哪些文件被转换了,它确实包含名称中带有 Sample 或 sample 的文件。
我尝试过使用 find 或 findstr,但都无法将 skip 设置为 yes
如果跳过 == 不做(rem 做转换)
我只想转换非预告片/示例 avi 文件。
感谢您的宝贵时间。
【问题讨论】:
-
pastebin.com/qY2u4HX2 这已更新所有当前代码,并提供以下建议。
-
也是一个非常愚蠢的问题,不知道为什么,但我必须始终指定 find 或 findstr 的路径,这是路径错误,还是什么?只是好奇。
标签: batch-file mp4 avi handbrake