我有一堆 7z 文件,其中一些包含具有相同名称的文件。因此,我想做自动重命名。
我可以做类似的事情
find ./all -exec 7z x -pabc123 -oall/xml {} \;
Run Code Online (Sandbox Code Playgroud)
提取所有文件,但这会询问我是否要自动重命名每个存档。有没有办法让它只问我一次?或者更好的是,将其作为命令行选项传递?
(请注意,我必须使用七个 zip,因为它有密码。)
从p7zip 手册:
-ao(覆盖模式)开关指定提取期间的覆盖模式,以覆盖磁盘上已存在的文件。
句法
Run Code Online (Sandbox Code Playgroud)-ao[a | s | t | u ]开关说明
-aoa在没有提示的情况下覆盖所有现有文件。
-aos跳过现有文件的提取。
-aouaAuto 重命名提取文件(例如,name.txt将重命名为name_1.txt)。
-aot自动重命名现有文件(例如,name.txt将重命名为name_1.txt)。例子
Run Code Online (Sandbox Code Playgroud)7z x test.zip -aoa从
test.zip存档中提取所有文件并在没有任何提示的情况下覆盖现有文件。可与此开关一起使用的命令
也可以看看
开关:(
-y假设所有查询都是 Yes)
看起来命令上的-aou或-aot开关7z会做你想做的,例如:
find all -exec 7z x -aou [OPTIONS...] {} \;
Run Code Online (Sandbox Code Playgroud)