批处理脚本:将文件移动到压缩包中

3

有人能指点我如何编写一个批处理脚本来将文件逐个移动到zip文件中,然后删除原始文件吗?这些涉及UNIX shell和IT技术。

由于没有足够的空间来存放创建的zip文件,因此无法使用标准的zip功能。

请问有什么建议吗?

4个回答

3

试试这个:

zip -r -m source.zip *

1
我已经尝试过类似的东西了,从文档中来。""" -m 将指定的文件移动到zip归档中;实际上,这将在制作指定的zip归档后删除目标目录/文件。如果一个目录在文件被删除后变为空,该目录也将被删除。在zip没有出现错误创建归档之前,不会进行任何删除操作。这对于节省磁盘空间很有用,但潜在的危险性很高,因此建议与-T一起使用以在删除所有输入文件之前测试归档。""" - Hugoagogo

1

虽然不是很好的解决方案,但它非常简单。我最终找到一个递归压缩文件夹的Python脚本,并添加了一行代码,在将文件添加到ZIP文件后将其删除。


0

您可以使用find来实现此操作

find . -type f -print0 | xargs -0 -n1 zip -m archive

这将把每个文件移动到zip文件中,保留目录结构。然后你会留下一些空目录,可以轻松删除。此外,使用find命令可以让你自由选择要压缩的文件。


0

我使用:

zip --move destination.zip src_file1 src_file2

这里是关于 man 手册中 "--move" 选项的详细说明:

--move

将指定的文件移动到 zip 压缩包中;实际上,这会在制作指定的 zip 压缩包后删除目标目录/文件。如果一个目录在文件被删除后变为空,该目录也将被删除。在 zip 成功创建压缩包之前,不会执行任何删除操作。这对于节省磁盘空间非常有用,但潜在风险很大,因此建议与 -T 一起使用,在删除所有输入文件之前测试压缩包。


这与上面的答案相同,并且存在相同的问题,即删除操作仅在zip文件完全创建后才执行。 - Hugoagogo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接