同步时查看 7zip 命令行选项获取更多信息

同步时查看 7zip 命令行选项获取更多信息

在 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”那么详细。

相关内容