File.Move进度条

时间:2012-12-12 20:04:12

标签: c# file-io

我有一个用户正在使用的程序,它将从系统中获取文件并将其移动到网络驱动器以便进行处理和存储。移动本身工作正常,一切正常,除非他们移动一个大文件,并且由于某种原因提前关闭程序并停止该过程。

我用来移动文件的代码是

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

这再次正常。我想知道当他们的文件实际上完全位于新位置时是否有可能向用户显示进度条。

我查了几个与此有半个相关性的问题,但没有任何对我的情况有用的答案。更改系统以移动文件对我来说不是一个选项,所以我很难找到一个完成进度或完成的方法。

修改

我可以考虑改变文件移动的方式,主要问题是解释它,这样我的老板就不会认为改变有用的东西是个坏主意(如果人们不关闭程序...... ..)

结束修改

我想在其位置使用查找新文件,目前大小是作为进度表,但不确定这是否有效。

感谢您的任何意见!

1 个答案:

答案 0 :(得分:3)

如果您想使用Windows文件进度对话框,只需添加Microsoft.VisualBasic作为参考,然后使用FileMove

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

这将显示与widnows相同的对话框,包括取消选项等(如果需要)。