如何在多个 7-Zip 档案中搜索?

如何在多个 7-Zip 档案中搜索?

7z 命令行具有非常快速的搜索功能,可以查找压缩文件夹中包含的文件。语法如下:

7z l mycompressedfile.7z fileiwant.txt -r

它也适用于文件夹中包含的多个压缩文件:

7z l *.7z fileiwant.txt -r

我的问题是如何将此功能应用于文件夹或磁盘中包含的所有文件,并递归所有子文件夹?例如,我想在磁盘 D 上的任何文件夹中包含的所有 zip 文件中搜索“fileiwant.txt”:

7z l [unknown option] d:\*.7z fileiwant.txt -r

除了在 PowerShell 中编写脚本之外,我找不到任何选项可以执行此操作,但它很复杂,我想要一行,容易记住。

非常感谢您的帮助

答案1

Windows 命令 Forfiles 可以让您对目录及其子目录中的文件运行命令。

满足您需求的语法如下:

forfiles /s /M *.7z /c "cmd /c 7z l @file fileiwant.txt -r"

Forfiles 遍历/M *.7z当前目录及其子目录 () 中的所有 .7z 文件 () /s。它将 7z 命令应用于每个文件 ( /c "cmd /c 7z l @file fileiwant.txt -r")

来源 :https://ss64.com/nt/forfiles.html

答案2

我在 7z 中找到了该选项,感谢 7-zip 的作者

语法如下:

7z l -an -air!d:\*.zip fileiwant.txt -r

它速度很快,并生成一份包含所有已检查档案的全球报告

相关内容