搜索
bottom↓
回复: 7

win下批处理 脚本编写问题,如何批量处理文件?

[复制链接]

出5入8汤圆

发表于 2022-8-5 19:24:55 | 显示全部楼层 |阅读模式
如题

测试成功 脚本 ,功能 为 用ffmpeg 把 rm文件 转为mp4 (这个脚本使用cuda,速度40X以上@RT3070 ) ,一次 转一个。

ffmpeg -hwaccel cuvid   -i  "[新版新概念英语1-4册全部视频和课本].Book3-01【wēi xìn 公众号:花临同学,baozangku。ys168。com】.rm"      -b 256k -vcodec h264_nvenc   -c:a aac -b:a 64k -ac 1 out_ac1.mp4

如何 把 当前目录下所有的 rm文件 都 转换成mp4?

出220入1516汤圆

发表于 2022-8-5 20:31:20 | 显示全部楼层
试试这样?注意要在cmd里,不要在powershell里
for /F "tokens=*" %G in ('dir /b *.rm') do ffmpeg -hwaccel cuvid -n -i "%G" -b 256k -vcodec h264_nvenc  -c:a aac -b:a 64k -ac 1 "output\%~nG.mp4"

我没有尝试楼主的转换参数,因为我没有rm文件

出0入325汤圆

发表于 2022-8-5 21:44:53 来自手机 | 显示全部楼层
nvenc编码体积比cpu要大了不少,确实也要快不少。我都是用excel拉名字然后拷到记事本里粘贴,后来就写了个小程序去调ffmpeg。

出5入8汤圆

 楼主| 发表于 2022-8-5 21:56:09 | 显示全部楼层
本帖最后由 zzsczz 于 2022-8-5 22:00 编辑
cne53102 发表于 2022-8-5 20:31
试试这样?注意要在cmd里,不要在powershell里
for /F "tokens=*" %G in ('dir /b *.rm') do ffmpeg -hwacc ...
(引用自2楼)



for /F "tokens=*" %G in ('dir /b *.rm') do ffmpeg -hwaccel cuvid -n -i "%G" -b 256k -vcodec h264_nvenc  -c:a aac -b:a 64k -ac 1 "output\%~nG.mp4"


可以工作,需要 建立一个 output 目录即可

win11下 只能作为 命令行输入,但不能写入bat执行




非常感谢!

出220入1516汤圆

发表于 2022-8-5 22:05:47 | 显示全部楼层
zzsczz 发表于 2022-8-5 21:56
for /F "tokens=*" %G in ('dir /b *.rm') do ffmpeg -hwaccel cuvid -n -i "%G" -b 256k -vcodec h264_ ...
(引用自4楼)

good,其实输出改成不一样的名字也可以不弄文件夹,但我想那样可能不太好

或者,也许可以添加一个if not exist什么什么然后mkdir之类的

放入批处理的话,那个百分号可能需要2个

出5入8汤圆

 楼主| 发表于 2022-8-6 01:43:43 | 显示全部楼层
cne53102 发表于 2022-8-5 22:05
good,其实输出改成不一样的名字也可以不弄文件夹,但我想那样可能不太好

或者,也许可以添加一个if not ...
(引用自5楼)


这是个 把 1080p  h.265 MP4 转720p h.264 mkv的 指令 ,  复制音频流

PS4 PRO只支持 h.264

//单个文件
ffmpeg -hwaccel cuvid -c:v hevc_cuvid -i X档案.第一季.S01E15.mp4 -c:a copy -vf scale_cuda=1280:720 -c:v h264_nvenc -b:v 1M output.mkv


//批量转换
for /F "tokens=*" %G in ('dir /b *.mp4') do ffmpeg -hwaccel cuvid -c:v hevc_cuvid  -i "%G" -c:a copy -vf scale_cuda=1280:720 -c:v h264_nvenc -b:v 1M "output\%~nG.mkv"



参考文献


https://zhuanlan.zhihu.com/p/162352065

https://ntown.at/de/knowledgebas ... coding-with-ffmpeg/

出5入8汤圆

 楼主| 发表于 2022-8-6 15:27:57 | 显示全部楼层
cne53102 发表于 2022-8-5 22:05
good,其实输出改成不一样的名字也可以不弄文件夹,但我想那样可能不太好

或者,也许可以添加一个if not ...
(引用自5楼)

的确

写入bat要把 指令里的% 替换成%%

btw您怎么 掌握 window的批处理语法的?  这些bat 看上去 uggly&make no sense

出220入1516汤圆

发表于 2022-8-6 15:57:27 | 显示全部楼层
zzsczz 发表于 2022-8-6 15:27
的确

写入bat要把 指令里的% 替换成%%
(引用自7楼)

我没仔细学过这东西,只是记得有的时候%可以有的时候%%才可以有的时候%%反而不可以……

很多时候我也是上网搜搜然后照葫芦画瓢,批处理的资源网上还挺多的,也有专门收集和鼓捣这玩意的站可以看看,但我觉得照葫芦画瓢基本满足需要的情况下没必要去硬啃这玩意。。

确实比较uggly,但它也不是给人看的,好看了性能会有影响,现在这样对命令行和命令行的程序来说已经可以了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 -- 东莞阿莫电子网站 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2023-2-8 13:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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