Entwickler-Ecke

IO, XML und Registry - File.Copy Problem


Gary 0n T0ur - Mi 19.01.11 23:54
Titel: File.Copy Problem
Hallo Leute,

ich habe leider schon wieder ein problem^^
und zwar kann ich mit file.Copy leider keine datei kopieren es kommt keine fehlermeldung aber er kopiert die datei auch nicht!!!


C#-Quelltext
1:
using System.IO;                    




C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 try
        {
            File.Copy(@"C:\Users\Gary\test.png"@"C:\Users\Gary\TestOrdner");
            MessageBox.Show("Gut");
        } 
        catch 
        {
            MessageBox.Show("Schlecht");    
        }


so das wär der code leider Kopiert er nichts und zeigt dann nur Schlecht an.

Mfg Gary


huuuuuh - Do 20.01.11 07:43

wenn du die fehlermeldung mit try...catch abfängst is klar dass diese nich kommt. mach try...catch weg und es sollte ne fehlermeldung kommen...


Trashkid2000 - Do 20.01.11 08:23

Aber zumindest sollte doch bei dem Code im Fehlerfall die MessageBox ausgegeben werden, oder?
Wird denn eine von beiden Nachrichten angezeigt?


Gary 0n T0ur - Do 20.01.11 12:39

Zitat:
so das wär der Code leider Kopiert er nichts und zeigt dann nur schlecht an.


ja er zeigt die Message Box "Schlecht" an

wenn ich zuhause bin werde ich mal versuchen try und catch zu entfernen.

Danke euch für die schnelle Antwort

Gary


Trashkid2000 - Do 20.01.11 13:13

Oh sorry, hatte ich überlesen, dass die MessageBox mit "schlecht" angezeigt wird.
Anstatt das try...catch zu entfernen, solltest Du Dir anstatt "schlecht" vielleicht lieber mal die Message der auftretenden Exception anzeigen lassen, damit Du siehst, woran es hapert:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
try
{
   File.Copy(@"C:\Users\Gary\test.png"@"C:\Users\Gary\TestOrdner");
   MessageBox.Show("Gut");

catch (Exception ex)
{
   MessageBox.Show(ex.Message);    
}

Marko


Gary 0n T0ur - Do 20.01.11 20:47

Guten Abend

Ok. ich hab das jetzt mal so gemacht

und dann kam die Meldung raus "Die Zieldatei"C:\Users\Gary\TestOrdner" ist keine Datei, sondern ein Verzeichnis"


C#-Quelltext
1:
 File.Copy(@"C:\Users\Gary\test.png"@"C:\Users\Gary\TestOrdner");                    

ich versteh das jetzt nicht ganz ich habe gedacht das was zuerst kommt ist die Datei die man Kopieren will und dann der Ordner wo hin man es kopiert haben will.

 File.Copy(@"Datei die man kopieren will"@"Ordner wo die Datei rein Kopiert wird");

ok dann hab ich mal das ganze umgedreht also so:

C#-Quelltext
1:
 File.Copy(@"C:\Users\Gary\TestOrdner"@"C:\Users\Gary\test.png");                    


Dann kommt aber "Der Zugriff auf den Pfad "C:\Users\Gary\TestOrdner" wurde verweigert auch wenn ich das Programm als Admin ausführe und wenn ich einen anderen Pfad angebe der Normaler weiße keine Admin rechte braucht geht es auch nicht kommt immer die Meldung

Vielen Dank für eure Hilfe.

Mfg Gary


Delete - Do 20.01.11 21:11

Du willst doch eine Datei kopieren, also musst du die Quelldatei und die Zieldatei angeben.


jaenicke - Do 20.01.11 21:43

user profile iconGary 0n T0ur hat folgendes geschrieben Zum zitierten Posting springen:
ich versteh das jetzt nicht ganz ich habe gedacht das was zuerst kommt ist die Datei die man Kopieren will und dann der Ordner wo hin man es kopiert haben will.
Warum schaust du nicht einfach in die Dokumentation?!? Ich versteh das echt nicht... :roll: :autsch:
Dokumentation [http://msdn.microsoft.com/de-de/library/c6cfw35a(v=vs.80).aspx] hat folgendes geschrieben:
Parameter

sourceFileName
Die zu kopierende Datei.

destFileName
Der Name der Zieldatei. Dies darf kein Verzeichnis und keine vorhandene Datei sein.


Gary 0n T0ur - Fr 21.01.11 22:54

Guten Abend,

oh man keine ahnung was ich da gedacht habe is doch klar das das nicht ging :idea: :idea: , aber jetzt geht es, danke euch allen für die schnellen Antworten

:D :D

Mfg Gary