找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: tcasdsss

[文件操作] 【已解决】目录下及其全部子目录下的 图片通过批处理和ffmpeg转换为别的格式?

[复制链接]
发表于 2014-9-12 11:30:58 | 显示全部楼层
回复 11# DAIC

感谢,明白了。
发表于 2014-9-12 11:36:27 | 显示全部楼层
回复 14# tcasdsss


    你的ffmpeg.exe从哪里下载的?什么版本?我试试
 楼主| 发表于 2014-9-12 11:46:08 | 显示全部楼层
回复 17# DAIC


    http://ffmpeg.zeranoe.com/builds/win64/shared/ 9月10号的 64位share版
发表于 2014-9-12 13:27:00 | 显示全部楼层
测试代码如下:
  1. @echo off
  2. set "PATH=%PATH%;C:\ffmpeg-20140911-git-5e3da25-win64-shared\bin"
  3. set "folder=c:\1212"
  4. for /f "delims=" %%i in ('dir /s /a-d /b "%folder%" ^| findstr /i "jpg$ png$"') do (
  5.     ffmpeg.exe -i "%%i" -pix_fmt yuv420p -vcodec libx265 -preset placebo -x265-params qp=32 "%%i.mkv"
  6. )
  7. pause
复制代码
执行批处理之前:
c:\1212>dir /b /s /a-d
c:\1212\1_1.jpg
c:\1212\1_2.png
c:\1212\folder1\1_1_1.jpg
c:\1212\folder1\1_1_2.png

执行批处理之后:
c:\1212>dir /b /s /a-d
c:\1212\1_1.jpg
c:\1212\1_1.jpg.mkv
c:\1212\1_2.png
c:\1212\1_2.png.mkv
c:\1212\folder1\1_1_1.jpg
c:\1212\folder1\1_1_1.jpg.mkv
c:\1212\folder1\1_1_2.png
c:\1212\folder1\1_1_2.png.mkv

可以看到,-i "%%i" 和 最后的 "%%i.mkv" 都可以使用完整的路径名,不需要先cd再使用相对路径。
但是有一点,如果文件名或者文件夹名包含中文,会报错:Could find no file ...
 楼主| 发表于 2014-9-12 13:28:02 | 显示全部楼层
本帖最后由 tcasdsss 于 2014-9-12 13:29 编辑

回复 19# DAIC


    文件夹名应该没问题 ffmpeg不支持的应该是中文文件名
输出的文件能否去除.jpg这样的字符 双扩展名后边会有麻烦……
 楼主| 发表于 2014-9-12 13:33:00 | 显示全部楼层
回复 19# DAIC


    额好像还真是不支持中文目录…… 可我的目录都是中文的…… 还是只能用3l的办法了……
发表于 2014-9-12 13:33:57 | 显示全部楼层
回复 20# tcasdsss
  1. @echo off
  2. set "PATH=%PATH%;C:\ffmpeg-20140911-git-5e3da25-win64-shared\bin"
  3. set "folder=c:\1212"
  4. for /f "delims=" %%i in ('dir /s /a-d /b "%folder%" ^| findstr /i "jpg$ png$"') do (
  5.     ffmpeg.exe -i "%%i" -pix_fmt yuv420p -vcodec libx265 -preset placebo -x265-params qp=32 "%%~dpi%%~ni.mkv"
  6. )
  7. pause
复制代码
这样可以去掉图片的扩展名
 楼主| 发表于 2014-9-12 13:38:35 | 显示全部楼层
本帖最后由 tcasdsss 于 2014-9-12 13:39 编辑

回复 22# DAIC


    有没有可能用 if not exist 和goto 提高下3lbat的效率 就是当前目录下没有jpg和png 就不执行ffmpeg的命令
不支持中文文件夹没办法用…… 我转的漫画都是中文文件夹 图片名我都改成数字了……
发表于 2014-9-12 13:41:07 | 显示全部楼层
  1. @echo off
  2. set "PATH=%PATH%;C:\ffmpeg-20140911-git-5e3da25-win64-shared\bin"
  3. set "folder=c:\1212"
  4. for /f "delims=" %%i in ('dir /s /a-d /b "%folder%" ^| findstr /i "jpg$ png$"') do (
  5.     cd /d "%%~dpi"
  6.     ffmpeg.exe -i "%%~nxi" -pix_fmt yuv420p -vcodec libx265 -preset placebo -x265-params qp=32 "%%~ni.mkv"
  7. )
  8. pause
复制代码
这样可以解决中文文件夹的问题
 楼主| 发表于 2014-9-12 13:43:16 | 显示全部楼层
回复 24# DAIC


    牛逼! 感谢! 我还有另一个关于nconvert 的问题求解答
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 20:30 , Processed in 0.018426 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表