0

ユーザーが使用しているプログラムがあります。このプログラムは、システムからファイルを取得し、それをネットワークドライブに移動して、処理および保存します。大きなファイルを移動していて、何らかの理由でプログラムを早期に閉じてプロセスを停止しない限り、移動自体は正常に機能し、すべてが適切に機能します。

ファイルの移動に使用するコードは次のとおりです。

try { File.Move(docFilepath, docFilePathTo); }
catch (Exception ex)
{
    docName = config.autoRename(docName + docExt.ToUpper()).Split('.')[0];
    File.Move(docFilepath, frmMain.Scans2LF + docName + docExt.ToUpper());
}

繰り返しますが、これは正常に機能します。ユーザーのファイルが実際に完全に新しい場所にあるときに、ユーザーに表示するプログレスバーがある可能性があるのではないかと思いました。

私はこれに半関連性のあるいくつかの質問を調べましたが、私の状況に役立つ答えはありません。ファイルを移動するためのシステムを変更することは私にとってオプションではないので、進行または完了を完了する方法を見つけようとして立ち往生しています。

編集

私はおそらくファイルの移動方法を変更することを検討できます。主な問題は、上司が機能するものを変更するのは悪い考えだと思わないように説明することです(人々がプログラムを閉じない場合.....)

編集終了

その場所で新しいファイルのルックアップを使用することを考えました。サイズは現在進行状況メーターとして表示されていますが、これが機能するかどうかはわかりません。

ご入力いただきありがとうございます。

4

1 に答える 1

3

Windowsのファイル進行状況ダイアログを使用する場合はMicrosoft.VisualBasic、参照として追加し、そこからFileMoveを使用します。

Microsoft.VisualBasic.FileIO.FileSystem.MoveFile("sorceFile.ext", "destFile.ext", Microsoft.VisualBasic.FileIO.UIOption.AllDialogs); 

これにより、必要に応じてキャンセルオプションなどを含め、widnowsと同じダイアログが表示されます。

于 2012-12-12T20:12:10.980 に答える