在 7zip 命令行选项中,是否有一些参数可以让 7z 输出从存档中忽略/删除的文件?(选项忽略的文件-uq0
)
示例调用:
"C:\Program Files\7-Zip\7z.exe" u "C:\Docz.7z" -uq0 "C:\Documentsx\*"
7zip 详细:
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Updating archive C:\Docz.7z
Compressing hello.txt
Everything is Ok
如果添加或替换了档案,则会显示“压缩 hello.txt”
我希望获得更多信息或详细信息...如下所示:
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Updating archive C:\Docz.7z
Updating hello.txt
Adding examplenew.txt
Deleting/Ignoring documentdeleted.txt
Everything is Ok
答案1
7zip 没有“额外详细程度”选项。但你可以使用7zip 开发工具包并围绕该库编写一个简单的包装器来完成您想要的操作。
答案2
你为什么需要这个?我的意思是,这个-u
标志是专门为对档案更新进行细粒度控制而设计的。
"C:\Program Files\7-Zip\7z.exe" -ms=off -uq0 u "C:\Docz.7z" "C:\Documentsx\*"
Docz.7z
如果您使用开关创建了存档,则将更新添加和删除文件-ms=off
(否则您将无法删除文件)。如果您需要将 中的内容C:\Documentsx\
与存档中的内容进行比较,则必须编写一个包装器(如 Alex P. 所述),或者编写脚本,使用您想要的任何内容对 中的文件列表C:\Documentsx\
和 的输出进行比较7z l Docz.7z
。
例如使用Linux下的命令行(可以转化为脚本):
7z l Docz.7z | cut -c54-80 | sed -n -E '/---/,/---/p' | sed '/---/d' | sort > Docz.list
ls Documents/* | sort > Documents.list
diff Docz.list Documents.list
我知道您不使用 Linux,但您可以使用该 bash 脚本作为您自己的脚本的基础。
但您能否告诉我们更多关于您的背景以及您想要实现的目标?您可能选择了一条错误的道路……
答案3
7z 有一种详细选项“-bbX”,其中 X 为 [0..3],最大详细程度为“-bb3”,然后是“-slt”(显示技术信息)。至少 Linux 版本有,但我想 Windows 版本也有这个选项吧?不过这远不如 Linux 的“xz”和“-vvv”那么详细。