7-Zip为与*。*匹配的文件夹关闭递归功能。

问题描述 投票:1回答:2
我正在使用7压缩19.00 64位。我想压缩文件夹中的文件,但不包括子目录;禁用递归。

我正在执行的命令:

7z u -mx9 -r- -bd wwwroot.7z C:\inetpub\wwwroot\*.*

C:\ inetpub \ wwwroot \中将包含以域命名的子目录。

C:\inetpub\wwwroot\domain.com (directory) C:\inetpub\wwwroot\domain.org (directory) C:\inetpub\wwwroot\domain.net (directory) C:\inetpub\wwwroot\images (directory) C:\inetpub\wwwroot\javascript (directory) C:\inetpub\wwwroot\index.html C:\inetpub\wwwroot\robots.txt C:\inetpub\wwwroot\favicon.ico

7-Zip包含与通配符匹配的子目录; domain.com,domain.org,domain.net将位于wwwroot.7z中。图片和javascript将被排除。 index.html,robots.txt和favicon.ico将按预期位于wwwroot.7z中。

由于站点/域的文件夹会随着时间而变化,因此我无法对要排除的文件夹列表进行硬编码。

我尝试使用以下内容,但它们都无法按我的意愿工作:

7z u -mx9 -r- -bd wwwroot.7z C:\inetpub\wwwroot\. 7z u -mx9 -r- -bd wwwroot.7z C:\inetpub\wwwroot\

我已经在文档中寻找了按属性排除的方法,但找不到它。我看过-x选项,但它似乎仅适用于文件。

我正在其上运行的系统是Windows Server 2012 R2。

@ Mofi:wwwroot.7z应该只包含文件,没有子目录。

要使用WinRAR完成此任务,我将使用此命令:

rar u -ma5 -m5 -ep1 C:\inetpub\wwwroot\wwwroot.rar C:\inetpub\wwwroot\*.*

我正在使用7压缩19.00 64位。我想压缩文件夹中的文件,但不包括子目录;禁用递归。我正在执行的命令:7z u -mx9 -r- -bd wwwroot.7z C:\ inetpub \ ...
windows batch-file 7zip
2个回答
0
投票
@echo off setlocal set "target=C:\inetpub\wwwroot" dir /b /a-d "%target%\*" > "%cd%\include.tmp" pushd "%target%\" && ( call 7z u -mx9 -bd "%cd%\wwwroot.7z" -ir0@"%cd%\include.tmp" popd ) del "%cd%\include.tmp"

0
投票
仅将指定目录中的文件非递归压缩到7-Zip归档中的解决方案是:
© www.soinside.com 2019 - 2024. All rights reserved.