提取多个 7z 文件并自动重命名

提取多个 7z 文件并自动重命名

我有一堆 7z 文件,其中一些包含同名文件。因此,我想进行自动重命名。

我可以做类似的事情

find ./all -exec 7z x -pabc123 -oall/xml {} \;

提取所有文件,但每次存档时它都会询问我是否要自动重命名。有没有办法让它只询问我一次?或者更好的办法是,将其作为命令行选项传递?

(请注意,我必须使用 seven zip,因为它有密码。)

答案1

来自p7zip 手册

-ao(覆盖模式)开关

指定提取期间的覆盖模式,以覆盖磁盘上已存在的文件。

句法

-ao[a | s | t | u ]

开关描述

-aoa 覆盖所有现有文件而不提示。
-aos 跳过现有文件的提取。
-aou 自动重命名提取文件(例如,name.txt将重命名为name_1.txt)。
-aot 自动重命名现有文件(例如,name.txt将重命名为name_1.txt)。

例子

7z x test.zip -aoa

从档案中提取所有文件test.zip并覆盖现有文件,无需任何提示。

可以与此开关一起使用的命令

e(提炼)x(使用完整路径提取)

也可以看看

开关:-y(假设所有查询都回答“是”)

看起来命令上的-aou或开关都可以执行您想要的操作,例如:-aot7z

find all -exec 7z x -aou [OPTIONS...] {} \;

相关内容