我是一名 ETL 开发人员,我需要处理大量数据,这些数据需要从一种形式处理到另一种形式,然后才能加载到表中。因此,在某些时候,我使用的大多数脚本都必须将文件从一个地方移动到另一个地方。我们是一家橱窗店。我想知道当我在 Perl 中使用 move 函数时,是否有办法查看移动需要多少时间。如果我需要通过系统调用一个 Windows 命令来给我这个选项,那么我也可以使用它。Perl 或 windows 命令行中是否有任何内容可以告诉我文件传输的进度?
谢谢!
我是一名 ETL 开发人员,我需要处理大量数据,这些数据需要从一种形式处理到另一种形式,然后才能加载到表中。因此,在某些时候,我使用的大多数脚本都必须将文件从一个地方移动到另一个地方。我们是一家橱窗店。我想知道当我在 Perl 中使用 move 函数时,是否有办法查看移动需要多少时间。如果我需要通过系统调用一个 Windows 命令来给我这个选项,那么我也可以使用它。Perl 或 windows 命令行中是否有任何内容可以告诉我文件传输的进度?
谢谢!
您可以使用 cpan 中的Win32::FileOp包。
这是一个相关的摘录:
复制确认
CopyConfirm ($FileName => $FileOrDirectoryName [, ...]) CopyConfirm (\@FileNames => $DirectoryName [, ...] ) CopyConfirm (\@FileNames => \@FileOrDirectoryNames [, ...])
复制指定的文件。如果发生碰撞,显示确认对话框。显示进度对话框。
如果成功则返回真。
移动确认
移动指定的文件。参数为 CopyConfirm
命令行替代方案是Term::ProgressBar,它也更加灵活,但设置起来有些困难。您必须执行以下操作:获取原始文件的大小,然后开始复制并轮询新文件的大小(来自子进程)以更新进度条。