为什么默认输出会打乱结构
多数转换工具的默认行为是「所有输出平铺到一个目录」:它只关心文件转换,不关心你的组织方式。几十个文件夹的图涌进同一个输出夹,同名文件还会互相覆盖(IMG_001.jpg 每个项目都有)。
所以批量转换的第一检查项不是速度,是「输出结构怎么安排」。这个选项没看清就点开始,后悔药很贵。
方案一:用「保留目录结构」选项
专业点的转换工具(2345看图王的批量转换)在输出设置里有「保持源目录结构/镜像文件夹」类开关:勾上后,输出目录下会自动复刻源的层级,项目A的还在项目A里。
跑之前用一个小文件夹试一遍:确认输出的层级和源一致、同名文件没打架,再全量跑。这个两分钟的习惯,救过无数人的图库。
方案二:没有结构选项时的笨办法
工具不支持结构保留,就「化整为零」:按源文件夹分批转换,每次源设一个文件夹、输出设对应的新文件夹。几十个文件夹跑几十次,慢是慢点,结构绝对干净。
折中做法:先平铺转换,同时勾选「输出文件名带源路径前缀」(部分工具支持),转完用批量重命名把前缀还原成文件夹。弯了一点,但比纯手工快。
转换前的最后一件大事:备份
目录结构 + 文件本体,是整个图库的全部家当。批量操作前把源目录整体复制一份(或打包),放在别的盘。转换出问题,原样恢复只要几分钟。
常年维护图库的人,建议图库本身就有双备份(本地+移动硬盘/网盘)。批量转换、批量重命名这类「一次动几千个文件」的操作,永远只在一套备份不在场时进行——这是老兵的迷信,也是老兵的经验。
动手之前的目录体检表
转换之前先给目录画个像:多少个文件夹、多少张图、最深的层级有几层。路径总长超过 240 字符的目录是事故高发区,Windows 老接口处理超长路径容易直接报错退出,先把嵌套太深的文件夹往根目录方向提一级,把路径压短再开工。目录体检十分钟,转换安稳一整晚。别嫌这一步慢,它省的是半夜对着报错日志排错的时间。
检查文件夹名里的刺头:井号、百分号、全角空格、末尾带点号的目录名,都可能让批量转换的输出路径解析出错。先用批量重命名把这些名字洗干净再进转换流程,花十分钟做预处理,比在报错日志里挨个排查几十个项目文件夹省时间得多,特殊字符引发的失败最难排查,防在事前最划算。洗完名字的目录干净清爽,后续维护看着也顺眼。
同名文件是另一个雷:不同项目文件夹里都可能躺着 IMG_0001.jpg,一旦输出到同一处就互相覆盖,最后数量对不上还不知道丢了谁。要么确认输出端勾了保留目录结构,要么转换前给文件名加上项目前缀,两条路选一条走到底。结构保住了,几千张图转完还能各回各家。丢一张图可能就是一个项目的关键证据,赔不起。
最后建一个空的输出根目录,比如 D 盘下新建 converted 文件夹,所有转换结果只往这里写,原目录全程只读不动。结构对不对、数量齐不齐,对比两个目录树的文件夹数量和文件总数一眼就能看出来,核对无误心里有底之后再考虑清理源文件,这个习惯让你在任何批量操作里都进退有据。源目录完好,你的退路就永远完好。
