3

我是一名 ETL 开发人员,我需要处理大量数据,这些数据需要从一种形式处理到另一种形式,然后才能加载到表中。因此,在某些时候,我使用的大多数脚本都必须将文件从一个地方移动到另一个地方。我们是一家橱窗店。我想知道当我在 Perl 中使用 move 函数时,是否有办法查看移动需要多少时间。如果我需要通过系统调用一个 Windows 命令来给我这个选项,那么我也可以使用它。Perl 或 windows 命令行中是否有任何内容可以告诉我文件传输的进度?

谢谢!

4

1 回答 1

7

您可以使用 cpan 中的Win32::FileOp包。

这是一个相关的摘录:

复制确认

 CopyConfirm ($FileName => $FileOrDirectoryName [, ...])
 CopyConfirm (\@FileNames => $DirectoryName [, ...] )
 CopyConfirm (\@FileNames => \@FileOrDirectoryNames [, ...])

复制指定的文件。如果发生碰撞,显示确认对话框。显示进度对话框。

如果成功则返回真。

移动确认

移动指定的文件。参数为 CopyConfirm

命令行替代方案是Term::ProgressBar,它也更加灵活,但设置起来有些困难。您必须执行以下操作:获取原始文件的大小,然后开始复制并轮询新文件的大小(来自子进程)以更新进度条。

于 2009-05-18T19:04:43.897 回答