伊克路西安 发表于 2022-8-30 10:47

怎么批量把多层结构的漫画文件夹,按每本转换成压缩包

本帖最后由 伊克路西安 于 2022-8-30 10:53 编辑

现在的文件结构是:
E:\comic\“作者名”\“漫画名”\"*.jpg/png"

现在的期望是:
将所有“漫画名”文件夹,全部转换成单独的压缩包,并删除原始“漫画名”文件夹。

现在的执行方式是:
使用BandiZIP,对“作者名”文件夹下的所有“漫画名”文件夹,全部“添加到压缩文件……” 并勾选 “测试压缩文件”+“压缩后删除原始文件”+“把每个文件/文件夹添加到单独的压缩文件”

对现在的执行方式不满的地方:
现在有100多个“作者名”文件夹,如果用现在的执行方式,每个“作者名”文件夹都要来一遍,嫌麻烦

mono 发表于 2022-8-30 10:58

写个脚本 递归访问所有子目录
如果某个子目录里所有文件都是图片就转成zip

伊克路西安 发表于 2022-8-30 11:26

mono 发表于 2022-8-30 10:58
写个脚本 递归访问所有子目录
如果某个子目录里所有文件都是图片就转成zip ...

不会超能力啊

GJRstone 发表于 2022-8-30 12:04

上网搜用excel做批处理批量重命名的方法,重命名的批处理指令换成移动

两个路人 发表于 2022-8-30 12:31

東京急行 发表于 2022-8-30 12:38

不会可以学,零基础自学一下不用半天时间

这个需要的就是两个东西
一是进行压缩打包的命令,二是在这个压缩打包的命令外面套2个循环遍历各个目录

BT有理 发表于 2022-8-30 12:45

RAR可以直接选文件夹按文件夹打包

ghostinnet 发表于 2022-8-30 13:43

如果你所有的结构都是这样的,那就可以用everthing
先搜索过滤选择文件夹,
然后指定文件夹深度搜索,过滤到前面的父级文件夹,搜索出来全部是第4层的漫画文件夹
接着只需要全选所有的漫画文件夹,右键压缩,所有的漫画文件夹都压缩
然后把所有的原来的漫画文件夹删除就完事了.

伊克路西安 发表于 2022-8-30 14:53

ghostinnet 发表于 2022-8-30 13:43
如果你所有的结构都是这样的,那就可以用everthing
先搜索过滤选择文件夹,
然后指定文件夹深度搜索,过滤到前 ...

感觉这个实现方法是最简单易懂的,只是我用everything查了下发现有几个作者是多层目录的,
用E:\comic\*\* 倒是可以过滤作者名父目录,但是不知道怎么过滤下层目录。。

ghostinnet 发表于 2022-8-30 15:08

可以在 everthing上面的搜索选项里面找到高级搜索,然后下滑找到文件夹深度,然后填入搜索深度
注意:填了深度如果只填了一个数字,那么是等效于parents:>=n 也就是n层以下所有的,而不是只到n层

也可以在搜索前面加上 parents:=n,n是你要搜索的深度
比如你这个是E:\comic\“作者名”\“漫画名”,应该是4层的
那么可以设置成 搜索parents:=3 E:\comic

具体的你可以先用一两个文件夹做作测试,测试没问题再来大批量的
因为都是几百个文件夹的批量操作,万一出问题,很麻烦

伊克路西安 发表于 2022-8-30 15:35

本帖最后由 伊克路西安 于 2022-8-30 15:43 编辑

ghostinnet 发表于 2022-8-30 15:08
可以在 everthing上面的搜索选项里面找到高级搜索,然后下滑找到文件夹深度,然后填入搜索深度
注意:填了深度 ...
学到了,用这个搜索发现到直到parents:>6才没结果
文件结构比我想象的要乱

直接把parents=3全部制作成压缩包的话,剩下的多重结构的文件夹还是有点难受(看了下parents=3是1620个对象,parents>3是766个对象)
我本来准备从最深层开始,把同样深度的所有文件夹全部制作成zip,然后一起移动到F盘,删除原文件,删除所有空目录,降1个深度再执行同样的操作直到深度3
但是在移动到F盘同时保留相同的路径上(或者直接压缩到F盘的相同路径)犯了难

绕指流光 发表于 2022-8-30 15:49

本帖最后由 绕指流光 于 2022-8-30 15:52 编辑

伊克路西安 发表于 2022-8-30 15:35
学到了,用这个搜索发现到直到parents:>6才没结果
文件结构比我想象的要乱


楼主你不妨换个思路,你实际上是需要做到作品批量管理,可以在文件名上作文章,把路径包含的作者和作品信息赋予到压缩包文件名,类似 [鸟山明].[七龙珠]..zip 这样,然后直接把压缩包生成路径选到F盘根目录或者随便什么文件夹

把所有作品的压缩流程走完,再根据文件名解析来重新规划文件夹层级,或者连目录规划都不必要了,直接tree成个索引完事,这样everything找起来更方便
总之建议还是掌握一定的超能力,这类搜刮整理的需求不可能有完美符合的轮子,必须自己手搓才能达到目的

伊克路西安 发表于 2022-8-30 15:54

本帖最后由 伊克路西安 于 2022-8-30 15:57 编辑

绕指流光 发表于 2022-8-30 15:49
楼主你不妨换个思路,你实&#x ...
这个思路看起来好像是掉入了另一个改文件名的坑里

我也想学超能力,但是没有基础,自己造轮子也太难了
直接在搜索引擎搜的话很难找到符合自己要求的范例来作为参考,信息太冗杂了光是判断是不是符合要求就很吃力了

伊克路西安 发表于 2022-8-30 16:10

本帖最后由 伊克路西安 于 2022-8-30 16:40 编辑

好像有点眉目了,目前是打算这样:
把最深度的文件夹全部制作成 zip,然后用 fastcopy (筛选 *.zip;*.7z; *.rar;*.cbz) diff size/date 整个 E:\comic 目录到F盘,
然后删除当前深度的所有文件夹,删除所有新生成的.zip,删除所有空目录,再降个深度再来一遍
因为我本来就是准备把所有漫画全部移动到 F 盘去,所以好像正好合适?

ghostinnet 发表于 2022-8-30 17:05

伊克路西安 发表于 2022-8-30 16:10
好像有点眉目了,目前是打算这样:
把最深度的文件夹全部制作成 zip,然后用 fastcopy (筛选 *.zip;*.7z;...

lz,如果你的漫画名称是基本上满足12楼说的那种包含了tag类型很好搜索的,那么你可以每一个深度进行压缩,然后剪切出来放到一个文件夹下面都不会有冲突...

但是如果你的文件名称编的不好,文件放到一个文件夹会冲突,
那么你这个如果这么多层数,那么可能不仅仅有文件深度的问题,而且还有文件名称的问题
保留漫画名称下目录结构可能更重要.

伊克路西安 发表于 2022-8-30 17:09

本帖最后由 伊克路西安 于 2022-8-30 17:10 编辑

ghostinnet 发表于 2022-8-30 17:05
lz,如果你的漫画名称是基本上满足12楼说的那种包含了tag类型很好搜索的,那么你可以每一个深度进行压缩,然 ...
确实是这样,不过目前我的第一诉求其实是把E盘资源挪出来然后全盘填0
因为E盘是SMR盘,现在碎片太多了很慢
E盘的漫画就准备先全部打包成压缩包挪到F盘,整理的话以后再慢慢弄

卡卡 发表于 2022-8-30 17:19

楼主漫画好多,可以共享下或者介绍下下载地址嘛

伊克路西安 发表于 2022-8-30 17:20

卡卡 发表于 2022-8-30 17:19
楼主漫画好多,可以共享下或者介绍下下载地址嘛

一般向:漫画补档 萌享
非一般向:易恒泰 南加

ghostinnet 发表于 2022-8-30 17:21

伊克路西安 发表于 2022-8-30 17:09
确实是这样,不过目前我的第一诉求其实是把E盘资源挪出来然后全盘填0
因为E盘是SMR盘,现在碎片太多了很慢 ...

所以还是应该直接压缩漫画名称那层,因为它保留有原来的文件目录结构,你移动后不会导致下面的单个每章或者每本的文件夹顺序混乱,以至于后期无法阅读和无法分类
你这么多漫画,如果每章如果打乱要整理起来,工作量简直无法想象.
而且现在的漫画软件如comicview,mangameeya基本都可以多层阅读的,有空文件目录这些都不是问题

伊克路西安 发表于 2022-8-30 17:27

ghostinnet 发表于 2022-8-30 17:21
所以还是应该直接压缩漫画名称那层,因为它保留有原来的文件目录结构,你移动后不会导致下面的单个每章或者 ...
现在是没有打乱的,目前的效果相当于,原来的文件夹递归到没有子目录之后,制成压缩包然后移到f盘的相同路径,完全保持了原结构
其实我下载下来根本就没看过,纯纯的仓鼠病罢了

VirMoe 发表于 2022-8-30 17:51

本帖最后由 VirMoe 于 2022-8-30 17:53 编辑

用powershell dir一下有文件的目录,可以只提取所有漫画的路径,剩下的要压缩或删除原目录都很轻松了,还可以按这个路径到平移到其他盘。待会到电脑旁边看下具体是啥命令

VirMoe 发表于 2022-8-30 18:09

本帖最后由 VirMoe 于 2022-8-30 18:11 编辑

在powershell里运行
(dir E:\comic -Recurse -File).DirectoryName | sort -Unique
按描述,如果只有最里层漫画目录有文件,上层都只有目录的话,应该可以只获取漫画的路径,BandiZIP官网正好有命令行帮助
https://cn.bandisoft.com/bandizip/help/parameter/

Chromosome 发表于 2022-8-30 18:23

在搜集的时候就整理过了,没遇到这种情况

月千一夜 发表于 2022-8-30 21:03

楼主你这个需求和我之前收集整理漫画的很像
建议你可以学一下 Python,可以参考我之前写的脚本,稍微改改细节就能用了

— from Sony G8441, Android 9 of S1 Next Goose v2.5.4

伊克路西安 发表于 2022-8-30 21:20

月千一夜 发表于 2022-8-30 21:03
楼主你这个需求和我之前收集整理漫画的很像
建议你可以学一下 Python,可以参考我之前写的脚本,稍微改改细 ...

阿这,请问你之前写的脚本在哪里

伊克路西安 发表于 2022-8-30 21:22

VirMoe 发表于 2022-8-30 18:09
在powershell里运行
(dir E:\comic -Recurse -File).DirectoryName | sort -Unique
按描述,如果只有最里层 ...
以后有类似需求再尝试好了,这次已经通过everything+fastcopy逐深度处理的笨办法解决了

月千一夜 发表于 2022-8-30 21:31

本帖最后由 月千一夜 于 2022-8-30 21:47 编辑

伊克路西安 发表于 2022-8-30 21:20
阿这,请问你之前写的脚本在哪里
在外面,等我回家传到gist上

https://gist.github.com/huruka/9c3c93b377eae88b6605ba7d63f9c4b2


— from Sony G8441, Android 9 of S1 Next Goose v2.5.4
页: [1]
查看完整版本: 怎么批量把多层结构的漫画文件夹,按每本转换成压缩包