3

私は ETL 開発者であり、テーブルにロードする前に、あるフォームから別のフォームに処理する必要がある多くのデータを扱っています。したがって、私が使用するスクリプトのほとんどは、ある時点で、ある場所から別の場所にファイルを移動する必要があります。当店は窓屋です。Perl で move 関数を使用しているときに、移動にかかる時間を確認する方法があるかどうか疑問に思っていました。このオプションを提供するシステムを介して Windows コマンドを呼び出す必要がある場合は、それを使用しても問題ありません。Perl または Windows のコマンド ラインに、ファイル転送の進行状況を知らせるものはありますか?

ありがとう!

4

1 に答える 1

7

cpan のWin32::FileOpパッケージを使用できます。

関連する抜粋を次に示します。

コピー確認

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

指定されたファイルをコピーします。衝突の場合、確認ダイアログを表示します。進行状況ダイアログを表示します。

成功した場合は true を返します。

移動確認

指定したファイルを移動します。CopyConfirm としてのパラメーター

コマンド ラインの代替手段はTerm::ProgressBarで、これもはるかに柔軟ですが、設定がやや難しくなります。次のようなことをする必要があります: 元のファイルのサイズを取得してから、コピーを開始し、(子プロセスから) 新しいファイルのサイズをポーリングして、進行状況バーを更新します。

于 2009-05-18T19:04:43.897 に答える