Dateien umbennen?



  • Hey wie kann ich eine Datei umbenennen? Also ich übergebe den Dateinamen einer Datei aus einem Ordner und möchte den ändern.

    if(rename(name,filename) == 0)
    	{
    		MessageBox("Umbennant");
    	}
    

    also das habe ich versucht und er gibt mit auch die Meldung aus, aber er verändert die Datei nicht. So ich habe den Fehler jetzt gefunden und zwar lag es daran das er nicht in das richtige Verzeichnis gewechselt hat.

    Wie kann ich denn jetzt in ein anderes Verzeichnis wechseln? Um dort eine Datei zu ändern?


  • Mod

    Gib in für beide Namen vollständige Pfade an.



  • funktioniert! Danke!



  • Ich habe noch ein Problem..
    Also ich möchte einen ganzen Ordner in einem Listenfeld ausgeben. Das klappt wunderbar. Nur es werden immer die Endungen ".txt" angezeigt. Diese möchte ich aus dem String entfernen. Nur jetzt steht anstatt der Namen immer ein "|".
    Keine Ahnung warum das nicht funzt. Ich habe mir schon die Syntax angeguckt von .replace aber ka.

    Filefind = finder.FindFile(strPath + _T("\\*"));
    	while(Filefind)
    	{
    	    Filefind = finder.FindNextFile();
    	    CString strTmp = finder.GetFileName();
    	    CString strnewTmp = strTmp.Replace(".txt","");
    
    	    if(!finder.IsDirectory() && strTmp != _T('.') && strTmp != _T(".."))
    	    {
    		m_ctlTabellenListe.AddString(strnewTmp);
                }
    	}
    


  • Bei der Zeile
    CString strnewTmp = strTmp.Replace(".txt","");
    kannst du
    CString strnewTmp =
    weglassen. Replace gibt ein int zurück und verändert direkt die Variable strTmp.



  • also ich habe ganz bewusst eine neue Variable genommen, weil ich mit der beiden Varianten arbeiten muss.
    Er müsste ja rein theoretisch in der Variable strTmp Datei.txt speichern
    und in strnewTmp einfach nur noch Datei, da er ja mit replace das .txt löscht.

    Aber das funzt gar nicht.



  • Hat sich erledigt. Ich habe jetzt selber das Problem gefunden.


Anmelden zum Antworten