如何压缩文件夹中的所有文件并通过命令行擦除未压缩的版本?

焦油球

我有一个备份磁盘,其中包含我想压缩的文件的未压缩版本,以节省该磁盘上的空间。磁盘(包含要压缩的文件)已满(约3TB,有17GB可用空间)。是否有命令或脚本可以运行以遍历磁盘中的每个文件,并在删除未压缩版本时对其进行压缩。例如,如果我有f1 f2 f3之类的文件夹,我只想以f1.tar.gz f2.tar.gz f3.tar.gz结尾,并删除了原始未压缩的文件夹,因此驱动器中有更多空间吗?另外,它也适用于子文件夹吗?

编辑:我希望尽可能地压缩文件而不会遭受损坏的风险。大约有150个父目录,并且大多数都有10到50个子文件夹,其中一些包含已经压缩的文件。作为简化示例,我的文件结构如下所示:

Parent folders:
parent1 parent2 parent3

每个可能都有类似的东西:

child1 child2 child3 file1.zip

每个可能都有

file1 file2.zip file2.tar.gz file3

当然,某些父文件夹仅包含不带子文件夹的文件。我想做的是从bash运行脚本或使用tar来输入命令来压缩父文件夹,使其看起来像:

parent1.tar.gz parent2.tar.gz parent3.tar.gz

同时擦除未压缩的父文件夹时,因此该命令的第一件事将压缩parent1.tar.gz(假设我在同一硬盘驱动器上有足够的空间容纳tarball文件),然后将其擦除,因此文件结构看起来像

parent1.tar.gz parent2 parent3,

那么该命令将继续为parent2和parent3做相同的事情,最终得到以下文件结构:

parent1.tar.gz parent2.tar.gz parent3.tar.gz

如果可能的话,很高兴知道如何将此操作扩展到子文件夹,但是如果操作太复杂或无法节省太多额外的空间,则没有必要。知道一种按每个文件占用的空间顺序对文件进行排序的方法,看看有多少空间可用以自动执行该过程之前,查看需要单独压缩多少个文件,这种方法也很不错,但这也是不需要。

托马斯·迪基

有人可能有一个脚本(或写了一个脚本)。我使用zip使用gzip或bzip2的脚本执行此类操作两者都有在存档完成后删除文件的规定。

问题是

  • 您当然可以为每个目录编写压缩档案
  • 在存档完成之前,您无法删除目录
  • 您无法更新压缩档案,例如,通过向其中添加文件。

因此,您必须有足够的可用空间来创建第一个存档,并逐渐获得足够的空间来编写较大的存档。大概您没有很多压缩文件(例如png,jpg,pdf)。否则您将无法获得空间。

如果不是因为空间不足的可能性很大,那么问题就可能只是脚本目录上要压缩/删除的脚本循环。但是,由于3TB的17Gb可用空间,某些目录可能变得相当大。您将必须进行一些分析,以查看这是否干扰了所概述的简单解决方案。

进一步阅读:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过命令行使用密码压缩文件夹

如何从命令行将特定文件和目录压缩到一个压缩文件夹中?

Windows:命令行如何解压缩文件并用当前文件夹和子文件夹中的压缩文件名重命名其内容?

如何压缩与brotli命令行(版本0.5.2)文件夹?

将一个文件夹中的所有未压缩文件压缩成一行

如何使用Winzip命令行对文件夹中的特定文件进行ZIP压缩?

根据命令行中的文件夹将文件递归压缩为.cbz文件

如何批量压缩文件夹?

使用Gulp Zip压缩文件夹中的所有文件

如何使用7-zip批量解压缩文件夹中的所有文件?

如何在不知道文件夹全名的情况下通过命令行将文件夹压缩为存档文件?

如何自动在Thunderbird中压缩文件夹?

如何压缩 Bash 中的所有子文件夹?

如何解压缩文件夹的所有子文件夹中的所有rar档案,然后删除档案?

如何在没有根文件夹的Mac中压缩文件

如何在不提取所有内容的情况下访问 gzip 压缩文件夹的子文件夹中的文件?

如何在android中压缩文件夹并通过电子邮件发送

使用命令行压缩文件

在Windows中,如何递归压缩文件夹,而只能压缩选择性文件?

使用Python 2.7.5将文件夹中的所有压缩文件解压缩到同一文件夹

如何将文件夹中的多个文件压缩到一个压缩文件夹中?

通过子进程压缩文件时出现“ incorect命令行错误”

压缩文件夹名称中没有包含目录的文件夹(tar)

Bash命令使用密码压缩文件夹

通过特定过滤压缩文件夹结构

压缩文件中的文件夹大小

grep -f压缩文件夹中的文件

PowerShell-压缩文件夹中的特定文件

如何解压缩文件夹中的所有.tgz文件并使用不同的命名约定将其写入新文件