Laden...

Dateien verschieben, Dateinamen beibehalten

Erstellt von Lolly vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.069 Views
L
Lolly Themenstarter:in
18 Beiträge seit 2011
vor 13 Jahren
Dateien verschieben, Dateinamen beibehalten

hi Community!
ich hab das Problem, dass ich mehrere Dateien verschieben will, aber die Dateinamen beibehalten möchte.
ich habe das schon notdürftig mit einer Zählervariable gemacht, dann hießen die Dateien nachher z.B. bild_1, bild_2, bild_3 usw.
eigentlich wäre das auch garnicht so schlecht gewesen, aber wenn man ein zweites mal bilder verschieben will und das Programm währenddessem geschlossen hat, steht die Zählervariable wieder auch 0, das heißt, die bilder heißen dann wieder bild_1, bild_2 usw.
aus diesem Grund wäre es warscheinlich das beste den Dateinamen beizubehalten
Kann mir jemand sagen wie das geht?

MFG
Julian

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Lolly,

das klingt ein wenig nach [FAQ] Variablennamen zur Laufzeit zusammensetzen. Wie genau gehst du vor? Verwendest du einen string in mehreren Schleifen und setzt so anhand von i den Namen fest in Abhänigkeit von irgendwas? Das würde ich dir nicht raten! Das ist der schlechteste Weg!

Mit File.Move kannst du eine Datei von einem Verzeich in ein anderes Verzeichnis verschieben. So ist es auch am besten.

Wenn du Einstellungen zwischenspeichern möchtest, dann [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0.

zero_x

L
Lolly Themenstarter:in
18 Beiträge seit 2011
vor 13 Jahren

mit dem verschieben und so weiter funktioniert alles schon wunderbar, mein einzigstes Problem ist, das ich nich weiß, wie man an den Dateinamen herankommt um den danach wieder zu benutzen
so sieht das im Moment aus

foreach (string i in filepaths)
                {
                    string ausgabepfad = "C:/Users/Julian_2/Documents/Verschieben_test1/NeuerOrdner[...]";
                    if (System.IO.File.Exists(ausgabepfad))
                    {
                        iCount++;
                    }
                    else
                    {
                        System.IO.File.Copy(filepaths[iCount], ausgabepfad);
                        iCount++;
                    }
                    progressBar1.Value += 1;
                }

Da wo das [...] fehlt der Dateiname.
Ich muss also irgendwie an den ursprünglichen Dateinamen kommen

1.044 Beiträge seit 2008
vor 13 Jahren

Hallo Lolly,

so z.B.:

string fileName = Path.GetFileName(@"C:\test.txt");

:rtfm:

zero_x

L
Lolly Themenstarter:in
18 Beiträge seit 2011
vor 13 Jahren

danke, hat funktioniert 😉