我想知道这是否可行,让 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
参数)列出较新的文件。