我想我错过了一些东西,因为我似乎无法找到这意味着什么。
例子:
for /D %%A in (*) do "\7za.exe" u -t7z -m9=LZMA2 "%%A.7z" "%%A"
Run Code Online (Sandbox Code Playgroud)
该行应该使用 的命令行版本7zip来压缩单个文件夹,但我对%%A这种情况下的含义感到困惑。
7z 命令行工具允许您指定多种压缩方法,例如:
# 7-zip archive type, strongest (9) compression, methods PPMd, BCJ2, LZMA2
$ 7z a -t7z -mx=9 -m0=PPMd -m1=BCJ2 -m2=LZMA2 myarchive.7z somefile.xml
Run Code Online (Sandbox Code Playgroud)
所有方法都以某种方式使用,或者至少在元数据中指定:
$ 7z l -slt myarchive.7z
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Listing archive: myarchive.
7z
--
Path = myarchive.7z
Type = 7z
Method = LZMA2 PPMD BCJ2
[..]
----------
Path = somefile.xml
[..]
Method = PPMD:o32:mem192m BCJ2 LZMA2:48m
Block = 0
Run Code Online (Sandbox Code Playgroud)
它似乎没有通过所有三种方法运行文件,选择最好的。相反,它显然总是选择第一个,因为更改方法的顺序会显着影响文件大小。
即使我添加了多个文件,例如一个 XML 文件(PPMd 产生最佳压缩)和一个二进制文件(LZMA2 可以),它仍会列出这两个文件的所有方法,并且似乎不会针对每个文件动态切换。
事实上,文档特别说明“您可以使用任意数量的方法。”,但并没有说明 …
我最近遇到了存档文件损坏的问题,并阅读了有关 7-zip 能够测试存档文件的信息。这对于尝试为我修复或删除损坏的存档文件有用吗?如果是这样,我如何使用 7-zip?
我有几个文件夹,每个文件夹中都有 ZIP 文件。我想运行一个命令行命令以递归方式遍历每个文件夹并将它找到的每个存档文件提取到位,然后移至下一个文件夹。这甚至可能吗?
我曾经能够拖放并将文件添加到压缩文件夹中。现在我在使用 7-zip 时不能。我升级到了一台带有 7-zip 的 Windows 8(噩梦)新计算机,我希望能够将文件添加到压缩文件夹或从 Windows 7 安装旧版本的压缩文件。
7-zip 压缩文件夹内的“添加”按钮不起作用。似乎一旦我选择了要压缩的文件,就不允许向压缩文件夹中添加其他文件。我曾经能够使用 Windows 7 来做到这一点。
我不明白很多计算机术语,比如“存档”“提取”“目录”(我真的很努力,但说真的,当我尝试查找这些东西时,我会更加困惑)所以请尽可能简化任何答案你可以。如果我的答案已经在某处列出,我深表歉意,我确实看了,但只会更加沮丧和困惑。
手册页7z简单地说
不要使用“-r”,因为这个标志没有你想的那样。
我能找到的唯一文档基本上重申了同样的事情。
-r[-|0]
Recurse subdirectories (CAUTION: this flag does not do what you
think, avoid using it)
Run Code Online (Sandbox Code Playgroud)
那么,什么不应该,而为什么这个文档的作者认为,我认为它别的东西吗?
这是 Debian Squeeze 上的 7zip 9.04(即很旧)。
在 Linux 中,我使用 7z 来解密 *.7z 加密文件。有没有办法通过管道或任何其他可以自动化的方法传递密码?
我试过了,echo password | 7z x archive.7z但仍然提示我输入密码。
7-Zip 是一个很棒的工具,但有时它的工作方式很奇怪。考虑以下目录D:\dir布局:
foo <DIR>
bar <DIR>
baz <DIR>
empty <DIR> -- this directory is empty by intention
Run Code Online (Sandbox Code Playgroud)
现在执行以下命令时:
>D:
>cd D:\dir
>7z a -r -bb3 -mx9 -mmt -ms empty.7z empty
7-Zip [64] 16.04 : Copyright (c) 1999-2016 Igor Pavlov : 2016-10-04
Scanning the drive:
0M Scan foo\bar\baz
Run Code Online (Sandbox Code Playgroud)
出于某种原因,7-Zip 会扫描与压缩过程无关的目录。这与 7-Zip [64] 16.04 相关,但它在更旧的版本中的工作方式类似。不确定它是否也可以在 Linux 上重现。
如何禁用扫描并使 7-Zip 仅递归分析指定目录?
7-Zip 的创建者 Igor Pavlov 向我解释了如何7z处理这种情况。
如何在 Windows 上使用 7-Zip GUI 创建.tar.gz文件?
7-zip ×10
command-line ×3
archiving ×2
batch ×1
batch-file ×1
compression ×1
gui ×1
gzip ×1
linux ×1
recursive ×1
tar ×1