2017-02-23 82 views
0

У меня есть простое приложение wpf, где я пытаюсь переместить файл из одной папки в другую папку. Мой файл RTC.hex находится на рабочем столе. Я пытаюсь переместить его в папку на диске D. Код:Невозможно переместить файл из одной папки в другую в WPF C#

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

Что плохого я делаю здесь.?

ответ

0

Используйте FileDialog-х FileName свойство вместо SafeFileName, потому что она содержит полный путь:

С SafeFileName страницы на MSDN:

This value is the FileName with all path information removed.

Вы также должны создать целевую папку, прежде чем вы сможете написать ему.

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))); 
+0

Да, с этим тоже. но теперь он показывает: «Не удалось найти часть пути D: \\ New Folder \\', но путь правильный. –

+0

Хорошо, но это не так. Почему нам нужно создать папку перед перемещением файла. Это необходимо.? –

+0

Да, очевидно. – Clemens

0

Какое значение указано во время работы в переменной файла? Их должен быть путь к папке вашего рабочего стола (C:/Users // Рабочий стол) + «RTC.hex». (для Windows 7 и 8)

Путь к рабочему столу может отличаться для старых ОС Windows.

 Смежные вопросы

  • Нет связанных вопросов^_^