2016-04-08 4 views
0

Ich mag abc.text von D Laufwerk Daten Ordner in E Laufwerk eine Datei bewegeneine Datei von einer Quelle Verschieben in C# zu einem Ziel

System.IO.File.Move("D:\\abc.text", "E:\\data"); 

verwenden, aber es löst die Ausnahme "Zugriff auf das Ziel wurde verweigert" aus und es gibt keine Sperre für mein E-Laufwerk, die Zugriffsverweigerung verursachen kann. Wie kann ich von dieser Ausnahme vermeiden?

+0

Führen Sie das Programm als Administrator aus? – pushasha

+0

Ja, das Programm läuft als Administrator. –

Antwort

3

Sie müssen den vollständigen Namen der Datei angeben:

System.IO.File.Move("D:\\abc.text", "E:\\data\\abc.text"); 

auch immer Sie diese Ausnahme stattdessen haben sollte:

Eine Ausnahme des Typs‚System .IO.DirectoryNotFoundException 'ist in mscorlib.dll aufgetreten, wurde aber nicht verarbeitet d in Benutzercode

Also, stellen Sie sicher, dass Sie den Zugriff auf den data Ordner Ihrer E:\ Laufwerk. Überprüfen Sie die Eigenschaften dieses Ordners, stellen Sie sicher, dass es nicht schreibgeschützt ist.

Ein Grund, warum Sie diese Ausnahme erhalten könnten, ist, dass eine Datei mit dem Namen data bereits im Laufwerk vorhanden ist, möglicherweise versteckt/geschützt. Und nebeneinander haben Sie einen Ordner mit dem Namen data. Vorausgesetzt, Sie geben auch den Dateinamen an, d. H. Den vollständigen Pfad der Zieldatei, sollte Ihr Problem gelöst sein.

1

Als Verwaltungsmodus ausführen. Sie können dies tun, indem Sie beim Starten mit der rechten Maustaste auf Visual Studio klicken.

(Hinweis getestet Ihren Code es funktioniert gut, wahrscheinlich müssen Sie nur als Admin zu ruinieren, um die Datei zu verschieben. System.IO.File.Move ("D: \ abc.text", "E: \ data \ abc.text ");)

Verwandte Themen