2017-02-23 1 views
0

私は単純なwpfアプリケーションを使用して、あるフォルダから別のフォルダにファイルを移動しようとしています。私のファイルはRTC.hexはデスクトップにあります。私はそれをDドライブのフォルダに移動しようとしています。コード:WPFで1つのフォルダから他のフォルダにファイルを移動できません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

は、代わりにSafeFileNameののFileDialogのFileNameプロパティを使用します。

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の一部を見つけることができませんでした 'を示していますが、パスは正しいです。 –

+0

それは動作しますが、私はそれを取得しませんでした。なぜファイルを移動する前にフォルダを作成する必要があるのですか?それは必要ですか。? –

+0

はい、明らかです。 – Clemens

0

ファイル名変数の実行時間はどの値ですか? デスクトップフォルダ(C:/ Users // Desktop)+ 'RTC.hex'へのパスにする必要があります。 (Windows 7および8の場合)

古いWindows OSでは、デスクトップパスが異なる場合があります。それは完全なパスが含まれているため

関連する問題