如何在 Mac 上排队复制多个文件?

如何在 Mac 上排队复制多个文件?

当我在 Mac 上复制多个文件时,系统会尝试同时复制所有文件。问题有两个方面。

首先,当您选择多个文件并复制它们时,它们都会进入一个进程,采用“全有或全无”的方法,与数据库中的 ACID 类似。这通常是不可取的。

此外,当您添加其他复制过程时,系统会尝试同时复制所有内容。

例如,我决定复制一个大文件A,然后我决定再复制一个大文件B。这会导致两个并行复制操作,无论其中一个“大文件”是否也是多个文件的选择。

我不喜欢这个,原因如下:

  • 当多个复制过程同时运行时,它似乎会阻碍其他过程。
  • 此外,当同时复制多个文件时,复制过程本身似乎会变得慢得多。
  • 最后,如果该过程被中止,则所有文件都不会到达目的地。
  • 当将文件添加到队列时,它也会立即开始复制,并进一步拖慢进程。
  • 当复制到(本地)网络上的其他机器或驱动器时,这是一个真正的问题。

结果:我想要首先传输和使用的文件A到达的时间比实际需要的时间长得多,并且从 LAN 上的中央 HD 复制时,我无法使用第一个文件,直到所有其他文件也到达为止。

因此... 如何在 Mac 上将多个文件排队进行复制?澄清一下:无论选择多少文件,还是逐个添加,我都希望将它们全部放入队列中,每次只复制一个文件,直到队列完成。

也欢迎使用 Bash 和 Perl 来解答!

答案1

超级复印机

超级复印机是免费的,跨平台复制实用程序目前正在开发中,因此还不够完善。安装后,它会出现在菜单栏中。

它管理一个允许你排队的复印列表复制或者移动作业,然后按顺序进行处理。您还可以定义复制过程优先级以及传输的块大小。

使用新版本,您可以按相似的源和/或目标进行分组,或者始终或从不进行分组。

在此处输入图片描述

答案2

这是一个 Bash 解决方案:

cp file1 dest1; cp file2 dest2

重复此操作,复制任意数量的文件。只需继续添加分号和cp命令即可。

你也可以这样做

cp file1 dest1 && cp file2 dest2

在此示例中,仅当前一个文件复制成功后,才会复制该文件。

对于文件夹,您可以执行以下操作:

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done

答案3

路径查找器 6看起来比 ultracopier 更容易操作,而且确实能提供清晰的提示,此外它还有更多选项。还有 30 天的试用期。

但我在专业上使用它,所以我认为它完全值得。

路径查找器 6 中的文件操作(Youtube 视频)

答案4

除了此线程中的其他一些复制管理器之外,您可能还想看看 ForkLift:http://www.binarynights.com/forklift/

优点:

  • 打开/关闭排队,
  • FTP + SFTP + 亚马逊 S3 + WEBDav,
  • 一组面向开发人员的便捷同步工具。

缺点:

  • 付费(尽管在撰写本文时,App Store 上有一个特价,但是...),
  • App Store 版本缺少功能(哦,沙盒)。

相关内容