批处理脚本使用7zip

3
我可以帮您翻译。需要压缩文件夹中的所有文件和子文件夹,以下是文件夹结构:Original Answer。
Master Directory
File 1
File 2

SubFolder1
ABC Folder
file 1
XYZ Folder
file 1

我正在使用以下代码,运行时我能够压缩主目录中子文件夹、它们的子文件夹和文件。但无法压缩主目录内的文件。

最初的回答:

您可以尝试添加一个循环来处理主目录中的文件,类似于处理子文件夹和它们的文件。这应该能够让您成功地压缩主目录中的文件。

CD /d D:\reports
for /d %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a  "D:\Report.zip" "%%X"

如何压缩主文件夹中的所有内容。非常感谢您的帮助。原始答案:“最初的回答”。

所以“主目录”是D:\reports\,对吗? - Til
for /D %%X in (. *) do ...? - aschipfl
1个回答

4
为什么不直接这样做:
"C:\Program Files\7-Zip\7z.exe" a "D:\Report.zip" "D:\reports\"

它将会压缩 D:\reports\ 中的所有文件和子文件夹到 D:\Report.zip 中。

如果你不想在压缩包中包含顶层的 reports 文件夹,只需要压缩其子文件和子文件夹,请使用以下命令:

"C:\Program Files\7-Zip\7z.exe" a "D:\Report.zip" "D:\reports\*"

2
我个人认为两种变体都会包括“报告”,为了避免这种情况,请将报告设为当前目录并只使用“*”来选择文件/文件夹。 - user6811411
你说得对,我也试过了,但是使用相对路径似乎有所不同。 - user6811411

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接