让 7zip 将文件输出到列表而不是 7z 存档

让 7zip 将文件输出到列表而不是 7z 存档

我想知道这是否可行,让 7zip 命令行压缩的文件(“7z a ...”或“7z u ...”)进入文本列表而不是实际存档。就像“模拟模式”,robocopy 有“/L”开关。我的意思是不压缩任何东西,否则会有点过头,只需将要压缩的文件重定向到屏幕输出或文本文件中。例如,类似于这个虚拟命令:

 7z u -r TEST.7z -no_archive *.doc -ir!c:\projects\*.*  -xr!cache -screen_redirection

-无存档屏幕重定向开关是为了举例而发明的)

这是否可以通过 DOS 批处理或 Powershell 实现?(或两者)这是为提前知道 7zip 使用“u”/update 命令将在多个子文件夹中压缩/更新哪些文件,同时使用 -xr!开关排除某些子文件夹。这样,我将获得文件夹中新文件/修改文件列表,并与存档中的文件进行比较。

非常感谢

答案1

您(和我们)无法修改 7Zip,因此您需要采用其他方式进行修改。

如果我理解了您的意图,则可以通过以下批处理命令生成此文件列表:

dir /b /s c:\projects | find ".doc" | find /v "\cache\"

它的作用是递归列出中的所有文件c:\projects,提取所有.doc文件,然后丢弃子文件夹中的所有文件cache

dir /?欲了解更多信息,您可以通过输入或查阅每个命令的帮助 find /?


如果您想将 7Zip 存档中的文件与磁盘上的文件进行比较,那么 7Zip 并不是您要使用的工具。

你可以使用 DAEMON 工具精简版 (免费,有广告)将存档挂载为虚拟磁盘。然后,您可以使用任何 Windows 实用程序比较(但不更新)这两个文件夹,例如 机器人复制 (使用/L参数)列出较新的文件。

相关内容