标签: 7-zip

为什么 zip 文件看起来比源文件大,尤其是当它是文本时?

我有一个大小为 19 字节的文本文件,并且使用 zip 和 7zip 压缩了该文件,它看起来更大。我读过关于为什么 7zipped 文件比原始文件大的问题?以及为什么 ZIP 压缩不压缩任何东西?但考虑到文件尚未压缩,我希望进一步压缩。附上截图。

在此处输入图片说明

编辑0

我通过创建一个包含随机数据的文件来进一步举例,dd if=/dev/urandom of=sample.log bs=1G count=1并尝试使用 zip 和 7zip 压缩文件,但是没有压缩增益。这是为什么?

在此处输入图片说明

compression zip 7-zip

7
推荐指数
1
解决办法
3万
查看次数

在此处提取存档,自动检测子文件夹

我在 Windows 7 下使用 7-Zip 来提取各种档案。一直存在的问题是没有一种方法可以处理子文件夹。

有些人像这样创建他们的档案(我们称之为类型A):

.
??? subfolder
?   ??? file 1
?   ??? file 2
?   ??? ...
Run Code Online (Sandbox Code Playgroud)
  • “在此处提取”会将所有内容提取到子文件夹/,这很好;
  • “Extract to <Folder>”将创建一个额外的子文件夹 level,这很烦人。

其他人像这样创建它们(我们称之为B型):

.
??? file1
??? file 2
??? ...
Run Code Online (Sandbox Code Playgroud)
  • “Extract Here”将填充当前文件夹,如果该文件夹已经包含大量其他文件,这会带来很多混乱,并且非常烦人;
  • “Extract to <Folder>”将创建一个子文件夹并方便地用存档内容填充它,这很好。

因此,这留下了两个选项:始终选择“提取到 <文件夹>”并使用A 类存档的额外子文件夹。或者在解压缩之前打开存档以检查这是A类型还是B类型,然后适当地选择“在此处提取”或“提取到 <文件夹>”。

我通常做后者,但我刚刚发现 KDE 提供了一个非常方便的Extract Archive Here,Autodetect Subfolder功能可以自动执行此操作。对于 A 类档案,它将“在此处提取”,对于 B 类档案,它将“提取到 <文件夹>”。

我喜欢这个主意。是否有提供此选项的 Windows 7 工具?最好集成在资源管理器上下文菜单中?也许它隐藏在 7-Zip 的某个地方而我只是没有找到?

windows-7 extract 7-zip

7
推荐指数
1
解决办法
3149
查看次数

如何覆盖 7zip 中的现有文件?

我正在尝试这个:

7za.exe a "C:\Disc.7z" "C:\test" -v20000000b -m0=BCJ -bd
Run Code Online (Sandbox Code Playgroud)

但是,如果我已经创建了文件,C:\Disc.7z那么 7zip 不会压缩任何内容并向我发送以下输出:

System error:
File already exist.
Run Code Online (Sandbox Code Playgroud)

我试过 switch -y,但 7zip 没有做任何事情......

我怎样才能覆盖文件?


更新

我试过开关,-aoa但它也不起作用......

windows compression 7-zip

7
推荐指数
2
解决办法
3万
查看次数

如何将 zip 文件解压缩到文件夹但避免重复文件夹?

我想你们都知道:你得到了一个 zip 文件,你不知道它是包含文件夹中的所有文件还是只包含文件。为了不弄乱目录,我从不使用"Extract here"但总是使用"Extract to <Foldername>"(使用 7Zip)。

不幸的是,如果 Zip 文件有一个文件夹,那么总是有两个文件夹,所以我需要将文件向上移动一个目录级别。

有没有办法始终提取到文件夹中但避免重复文件夹,例如\ZipFileName\FolderInZip\

更新

我正在寻找 ZIP 文件的上下文菜单操作,而不是先打开 ZIP 文件。速度就是一切:-)

windows 7-zip

7
推荐指数
1
解决办法
8238
查看次数

如何将多个文件夹 7zip 压缩到一个 7z 包中?

假设有 3 个文件夹:

/a/1
/b/1
/c/1
Run Code Online (Sandbox Code Playgroud)

并且任何文件夹都可能包含子文件夹,例如

/a/1/x
/b/1/y
...
Run Code Online (Sandbox Code Playgroud)

如何将包含文件和子文件夹的 /a/1 /b/1 /c/1 文件夹压缩到同一个 7z 文件中并在包中保留路径信息?

7-zip

7
推荐指数
1
解决办法
1万
查看次数

批量解压子目录下的所有zip压缩包;每个存档的内容提取到以存档命名的新目录中

我有一个包含大量子文件夹的文件夹,在这些子文件夹中是压缩文件。

我想知道如何将这些文件解压缩到以 zip 文件命名的文件夹中,例如:

C:\Archives\Photos\A.zip
C:\Archives\Videos\B.zip
C:\Archives\Documents\C.zip
Run Code Online (Sandbox Code Playgroud)

会变成

C:\Archives\Photos\A\
C:\Archives\Videos\B\
C:\Archives\Documents\C\
Run Code Online (Sandbox Code Playgroud)

我目前可以执行此操作,但前提是我一次执行一个文件夹,我想知道是否有办法一次完成所有操作,我在想一个 .bat 文件。

batch-file 7-zip 7za

7
推荐指数
1
解决办法
8319
查看次数

如何重新压缩驱动器上的多个 zip 文件?

我有一个硬盘驱动器,其中包含许多各种内容备份的 ZIP 文件。它们在不同的时间点以不同且不一致的方式进行压缩,其中很多使用最小压缩设置。

有没有办法(最好使用 7zip)使用相同(最佳)压缩设置重新压缩驱动器上的所有 ZIP?

windows compression zip 7-zip windows-10

7
推荐指数
2
解决办法
1011
查看次数

使用 7zip 定义根文件夹

我在这个命令中使用 7zip

tools/7zip/7z.exe a publish/Site.zip publish/Site/*
Run Code Online (Sandbox Code Playgroud)

当我这样做时,7zip 创建一个 zip 文件,其中包含一个发布文件夹,一个站点文件夹,然后是我的文件。

我希望我的 Site 文件夹的内容是我的 zip 文件的根目录。

我怎样才能做到这一点?

7-zip

6
推荐指数
1
解决办法
2249
查看次数

提取 .7z 文件时,将 7-Zip 的命令行输出重定向到 Windows 上的 /dev/null

我有一个命令,例如"C:\Program Files\7-zip\7z.exe" x foo.7z -y将(使用完整路径)提取到当前目录。

但是,我不希望它做的是将各个路径散布到标准输出。这是我不需要的信息。

但是,在 Windows 上,将其重定向到 NUL(相当于/dev/null在 Linux 上)a la"C:\Program Files\7-zip\7z.exe" x foo.7z -y > NUL不会产生解压缩的文件,因为 7-Zip 似乎解压到 NUL 而不是将命令文本输出推送到 NUL(这是我们想要的) )。

实际上,该命令在 Windows 命令 shell 中工作(也就是说,它根据我的需要解压缩文件,但不将文本记录到控制台),但它不是来自TeamCity 的命令行构建运行程序中代理执行(即,它会解压到 NUL 中)。

我如何让它在 TeamCity(作为服务执行)中做同样的事情?

redirection stdout teamcity 7-zip

6
推荐指数
1
解决办法
9257
查看次数

使用 .bat 文件或 dos 命令提取目录(包括子文件夹)中的所有 Zip

我想提取文件夹及其子文件夹中的所有 .zip 和 .rars

结构是这样的:

MAIN_FOLDER
    -A folder
        - a.zip
            -a.rar
    -B folder
        - b.zip
            -b.rar
    -C folder
        ....    
            ...
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个,但没有用

FOR /D /r %%F in ("*") DO (

  pushd %CD%
 cd %%F
    FOR %%X in (*.rar *.zip) DO (
        "C:\Program Files\7-zip\7z.exe" x %%X
    )
 popd

)
Run Code Online (Sandbox Code Playgroud)

我使用 Windows 并安装了 7-Zip。

附加问题:是否可以将所有从最后一个子文件(a.rar、b.rar)中提取的文件保存在同一个文件夹(主文件夹)中?

windows command-line batch-file 7-zip

6
推荐指数
1
解决办法
4万
查看次数