上周帮同事处理一批扫描件,他用某款PDF转Word工具链,批量拖进500个文件,结果卡死半天,最后只转出前37个——不是软件崩了,是默认限制一次最多处理30个文件。
没有统一答案,只有具体规则
“一次能转多少文件”这个问题,就像问“汽车能跑多快”——要看车型、路况、油门踩多深。转换工具链本身不设死上限,真正起作用的是三样东西:软件设定、内存扛不扛得住、硬盘读写速度够不够快。
比如FFmpeg命令行工具链,你写一句
for f in *.mp4; do ffmpeg -i "$f" -c:v libx265 "$f.out.mp4"; done 理论上可以遍历几千个文件,但实际运行时,如果内存只有8GB,同时解码10个4K视频就可能触发系统杀进程。常见工具的真实表现
桌面端软件爱设“安全阈值”:Adobe Acrobat DC 默认单次转换上限是100个PDF;格式工厂在“批量任务”里默认勾选“每次处理20个文件”,你得手动改成“全部”;而开源工具HandBrake压根不拦你,但你拖进去300个视频,风扇狂转、进度条不动,大概率是硬盘I/O瓶颈,不是软件问题。
再看在线工具——那些标榜“不限数量”的网站,其实偷偷做了手脚:上传队列超过50个就自动拆成多个批次,每批间隔3秒;有的甚至用浏览器Worker线程限流,一次只并发处理3个文件,剩下排队等。
怎么知道自己卡在哪一环?
打开任务管理器(Windows)或活动监视器(macOS),一边跑转换一边盯住“内存占用”和“磁盘活动”。如果内存飙到95%以上还持续增长,说明该减量了;如果磁盘读写长期停在0%,大概率是CPU在解码瓶颈,换台新点的机器比调参数更管用。
实测过一个场景:一台i5-8250U + 16GB内存的笔记本,用Python写的批量图片转WebP脚本(Pillow+libwebp),一次处理200张2MB JPG,耗时约4分12秒;加到500张,系统开始频繁交换内存页,总时间跳到11分钟——不是翻倍,是直接变慢两倍半。
所以别光盯着“支持批量”四个字,打开设置菜单找找有没有“并发数”“单次处理上限”“缓冲区大小”这类选项。没有?那就老老实实分批,比如先转001–100,再转101–200——省心,也真快。