将文件移动到文件夹并压缩该文件夹

将文件移动到文件夹并压缩该文件夹

我必须从文件夹 A 中单独压缩一些文件,然后将它们移动到同一目录下的文件夹 B,这需要花费大量时间。所以我想到将所有要压缩的文件移动到一个新文件夹(c),将其压缩并移动到文件夹 B 。是否可以用很少的命令来完成它?欢迎提出建议。

答案1

shell 类型的脚本可能可以帮助您:

enter code here
  mv <file.a>...<file.n> <new_folder>
  zip -r <new_folder>
  mv new_folder.zip /destination_folder

答案2

cp -R (the path of the folder to copy) (the name of the copied file)

然后

zip -r (name your zip) (the name of the copied file)

示例场景:假设我想复制 WordPress 安装的插件并压缩它们(当我位于 WordPress 的根文件夹中时)。

我会做:

cp -R wp-content/plugins plugins_backup

然后检查我会做:

ls -la

我将看到新目录插件备份,我将压缩它:

zip -r plugins_backup.zip plugins_backup

准备好。 (然后按照mv的答案将其移动到任何地方)。

答案3

不知何故,我一直对 ZIP 文件支持的 FUSE 插件一无所知。它允许用户挂载(或创建)ZIP 文件,就好像它是读/写文件系统一样。

首先创建一个以 .zip 结尾的新(空)文件并将其挂载到 /mnt。由于您希望 ZIP 文件最终位于folder_B 中,因此我们将在那里创建它:

# rm -f /folder_B/my_files.zip
# fuse-zip /folder_B/my_files.zip /mnt

您的帖子不清楚,但听起来您希望 .ZIP 文件包含folder_C,然后所有文件都驻留在那里。因此,我们将在 /mnt 上的 .ZIP 文件内创建folder_C:

# mkdir /mnt/folder_C

现在您只需进入folder_A并将所有要压缩的文件移动到/mnt/folder_C中:

# cd /folder_A
# mv file1 file2 ... fileN /mnt/folder_C

最后,卸载并检查 ZIP 文件:

# umount /mnt
# unzip -v /folder_B/my_files.zip

我意识到这看起来很复杂,但基本的四个步骤是:

# fuse-zip /folder_B/my_files.zip /mnt
# mkdir /mnt/folder_C
# mv /folder_A/file1 /folder_A/file2 ... /folder_A/fileN /mnt/folder_C
# umount /mnt

我并不是说这个方法比其他解决方案更好或更差,只是一种不同的方法。我希望你觉得它很有趣。

相关内容