无法在WPF C#中将文件从一个文件夹移动到另一个文件夹

时间:2017-02-23 08:46:21

标签: wpf file

我有一个简单的wpf应用程序,我试图将文件从一个文件夹移动到另一个文件夹。我的文件RTC.hex在桌面上。我想将它移动到D盘中的文件夹。代码:

    private void Move_ButtonClick(object sender, RoutedEventArgs e)
    {

        Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
        Nullable<bool> result = dlg.ShowDialog();
        if (result == true)

        {

            string filename = dlg.SafeFileName;

            System.IO.File.Move(filename, @"D:\New Folder\" + filename);

        }


    }

但它显示以下错误:

enter image description here

我在这里做错了什么。?

2 个答案:

答案 0 :(得分:0)

您的文件名变量中的运行时间值是多少? 它们应该是桌面文件夹的路径(C:/ Users //桌面)+&#39; RTC.hex&#39;。 (对于Windows 7和8)

旧版Windows操作系统的桌面路径可能不同。

答案 1 :(得分:0)

使用FileDialog的FileName属性而不是SafeFileName,因为它包含完整路径:

string filename = dlg.FileName;

来自MSDN上的SafeFileName页:

  

此值是FileName,删除了所有路径信息。

您还必须先创建目标文件夹,然后才能写入。

var targetDir = @"D:\New Folder";

System.IO.Directory.CreateDirectory(targetDir);
System.IO.File.Move(filename,
    System.IO.Path.Combine(targetDir, System.IO.Path.GetFileName(filename)));