我在 Windows Web Server 2008 R2 上使用 7zip、7za 的命令行来压缩文件夹。
7za.exe a -tzip -r %nome_file% "C:\inetpub"
我希望它压缩文件夹“inetpub”内的所有内容,但它压缩或尝试压缩路径之外的文件和文件夹。我在日志文件中看到以下消息:
C:\$Recycle.Bin\S-1-5-21-1548477359-4160443295-2229684838-500\: WARNING: Access is denied.
C:\Config.Msi\: WARNING: Access is denied.
C:\Documents and Settings\: WARNING: Access is denied.
为什么?奇怪的是,其中一些位置根本不存在。“C:\”盘上没有“C:\Documents and Settings\”。
答案1
去掉 -r。它不会像你想象的那样发挥作用。
C: 光盘 \ 7za a -tzip -mx=9 -mfb=258 -mpass=15 -mfb=258 C:\temp\filename.zip inetpub
(这是我喜欢的语法,它会使速度稍微慢一些以最大化压缩。)
这将使用指定的子目录创建您要求的文件。
您似乎认为 -r 将包含指定的子目录及其下的所有子目录。不,这是默认设置。-r 的目的是在子目录中搜索具有您指定名称的文件/子目录。因此,正在搜索 C: 以查找名为 inetpub 的东西。在搜索 C: 时,您会收到“访问被拒绝”警告。这不是您想要实现的效果。所以只需删除 -r