无忧启动论坛

标题: 问一个命令提示符的问题 [打印本页]

作者: kli    时间: 2018-8-16 11:49
标题: 问一个命令提示符的问题
  1. for %%a in ("*.gif") do ffmpeg -y -i "%%a" -c:v libx264 -vf scale=iw:-2,format=yuv420p "%%~na.mp4"
  2. for %%b in ("%~na.mp4") do if %%~zb==0 ffmpeg -y -i "%%a" -c:v libx264 -vf scale=-2:ih,format=yuv420p "%%~na.mp4"
  3. for %%b in ("%~na.mp4") do if %%~zb==0 ffmpeg -y -i "%%a" -c:v libx264 -vf scale=iw+1:-2,format=yuv420p "%%~na.mp4"
复制代码


请问为什么这个bat的后面2条不执行啊?  我使用下面的bat对付单个文件都是有效的,改一改想批量处理大量的就不行了,没有头绪,我现在都是做成3个bat,依次执行

  1. ffmpeg -y -i %1 -c:v libx264 -vf scale=iw:-2,format=yuv420p "%~n1.mp4"
  2. for %%a in ("%~n1.mp4") do if %%~za==0 ffmpeg -y -i %1 -c:v libx264 -vf scale=-2:ih,format=yuv420p "%~n1.mp4"
  3. for %%a in ("%~n1.mp4") do if %%~za==0 ffmpeg -y -i %1 -c:v libx264 -vf scale=iw+1:-2,format=yuv420p "%~n1.mp4"
  4. del %1
复制代码

作者: 2010techon    时间: 2018-8-16 17:39
本帖最后由 2010techon 于 2018-8-16 17:45 编辑

for的使用有问题,自己看下帮助文件吧

第一条中的%%~na.mp4 不能直接在后面两条中使用,不是一个语句段

for %%a in ("*.gif") do (
        ffmpeg -y -i "%%a" -c:v libx264 -vf scale=iw:-2,format=yuv420p "%%~na.mp4"
        for %%b in ("%%~na.mp4") do if %%~zb==0 ffmpeg -y -i "%%a" -c:v libx264 -vf scale=-2:ih,format=yuv420p "%%~na.mp4"
        for %%b in ("%%~na.mp4") do if %%~zb==0 ffmpeg -y -i "%%a" -c:v libx264 -vf scale=iw+1:-2,format=yuv420p "%%~na.mp4"
)

大致要这么改一下
作者: kli    时间: 2018-8-16 19:00
谢谢,可以用了,我的命令提示符都是每次要用的时候临时去百度百度,所以很多都知其然不知其所以然
从来没想过去看看帮助文件,你提醒了下,我觉得我要去好好读一读了




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3