Autor Beitrag
DenniZ
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win XP
C# (VS 2k5)
BeitragVerfasst: Mi 19.12.07 23:47 
Hi!

Ich möchte nen Programm machen, was eine vorhandene Datei löscht und danach eine andere Datei kopiert und diese in einen bestimmten Namen umbenennt.

Datei A wird gelöscht, dann möchte ich Datei B kopieren und Datei B umbenennen.
Hier der Code:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
        private void button1_Click(object sender, EventArgs e)
        {
            FileInfo fi = new FileInfo(textBox3.Text);
            if (fi.Exists)
            {
                fi.Delete();       
            }

            //File.Copy(textBox4.Text, textBox1.Text);
            FileInfo list1 = new FileInfo(textBox4.Text);
            list1.CopyTo(textBox1.Text, true);
        }


Beim ausführen löshct er die Datei, ganz normal.
Nur dann beim kopieren kommt der Fehler:

"An unhandled exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

Additional information: Access to the path 'E:\Testordner' is denied."

Achja, momentan möchte ich das so machen, dass die 2 Dateien in ein und dem selben Ordner sind, sollte das Schwierigkeiten bereiten kann ich auch die 2 Dateien in getrennten Ordnern unterbringen.

Hoffe mir kann jemand helfen :-/ das Umbenennen wird das mein nächstes Abendteuer...

Dennis

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt

_________________
Am Ende des Geldes ist immer noch viel Monat übrig :(
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 19.12.07 23:53 
Hallo!

(1) CopyTo erwartet als ersten Parameter nicht nur den Ordner, sondern den kompletten Pfad inklusive Dateiname!
(2) Du musst keine FileInfo anlegen, die File-Klasse hat eine statische Methode, die das gleiche leistet.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DenniZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win XP
C# (VS 2k5)
BeitragVerfasst: Mi 19.12.07 23:57 
Hm, wenden wir uns Nr.1 zu

Ich muss doch einen Ordner definieren, in den der das rein kopiert und eine Datei, die er kopieren soll, oder?

textBox1 = Dateipfad der zu kopierenden in einer Textbox und textBox4 = Ordner als Pfad in einer Textbox

Muss ich zu TextBox4 also noch eine Datei hinzufügen, oder wie?`Sorry bin nicht sehr gut *g*

_________________
Am Ende des Geldes ist immer noch viel Monat übrig :(
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 20.12.07 00:06 
user profile iconDenniZ hat folgendes geschrieben:
Ich muss doch einen Ordner definieren, in den der das rein kopiert und eine Datei, die er kopieren soll, oder?
Jein und ja. Du sagst, Datei "e:\foo\bar.txt" wird nach "e:\blubb\blah.txt" kopiert. Du gibst also immer den kompletten Pfad mit Dateinamen an. Wenn Du die Datei kopieren willst ohne sie umzubenennen, gibst Du an, dass "e:\foo\bar.txt" nach "e:\blubb\bar.txt" kopiert werden soll.

user profile iconDenniZ hat folgendes geschrieben:
textBox1 = Dateipfad der zu kopierenden in einer Textbox und textBox4 = Ordner als Pfad in einer Textbox
Du erstellst von textbox4.Text eine FileInfo, macht das Sinn, wenn es ein Ordner ist :gruebel:

Gib am Besten den Textboxen mal Namen, die auch was aussagen, da blickt ja keiner durch sonst.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DenniZ Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win XP
C# (VS 2k5)
BeitragVerfasst: Do 20.12.07 00:13 
Ok :D du hast mir die Augen geöffnet!

Es funktioniert jetzt alles, habs hinbekommen, sorry für das durcheinander in dem Code, und ja nur ich versteh den, kann auch von Nachteil sein.

Jedenfalls funktioniert alles was ich wollte :) Danke fürs helfen, kann geschlossen werden wenn du möchtest ;)

Dennis

_________________
Am Ende des Geldes ist immer noch viel Monat übrig :(