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

[文件操作] 如何在批处理for中使用带字符串的命令?

[复制链接]
发表于 2018-12-6 16:55:08 | 显示全部楼层 |阅读模式
  1. @echo off
  2. md %temp%\Gif2Bpg
  3. for %%a in (*.gif) do (
  4. convert -coalesce %%a %temp%\Gif2Bpg\%%a%%d.png
  5. identify -format "%T\n" %%a > 1.txt
  6. bpgenc -q 30 -f 420 -c ycbcr -b 12 -m 9 -a -delayfile 1.txt -fps 23.976 -o %%a.bpg %temp%\Gif2Bpg\%%a%%d.png
  7. del %temp%\Gif2Bpg\*.* /q
  8. )
  9. pause
复制代码
使用程序ImageMagick和bpg 作用是gif转bpg
在identify那里出现错误 无法输出1.txt 感觉是"%T\n"这个字符串参数的问题
本身还是有缺陷 不能获取源gif的帧率 所以需要添加对输出文本1.txt的逐行检查 如果都为5 则对-fps值输出20 否则要求终端输入-fps的值

如果能用powershell实现也可以

谢谢谢谢!!
发表于 2018-12-6 18:35:51 | 显示全部楼层
%T改成%%T可以吗?
 楼主| 发表于 2018-12-7 15:24:43 | 显示全部楼层
回复 2# Batcher

试了下居然可以 一直把%T\n当作identify内部参数 原来这么简单  方便的话能添加对输出文本1.txt的逐行检查吗 就是上面说的那个 非常感谢
发表于 2018-12-7 17:57:28 | 显示全部楼层
回复 3# imagescream


    把 1.txt 的内容发出来看看
 楼主| 发表于 2018-12-7 20:48:39 | 显示全部楼层
就是数字换行这样的 只有一列 行数根据图片帧数多少决定 一般少的几十多的几百(就是不定的)

10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
发表于 2020-11-8 08:38:44 | 显示全部楼层
回复 1# imagescream


  请问你最终的这个GIF转bpg的完成了吗?现在转换出来的bpg文件都是17b,要么就是卡死变成0b。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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