我有一个简单的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);
}
}
但它显示以下错误:
我在这里做错了什么。?
答案 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)));