mehrere Daten umbenennen



  • Hi, ich mache öfters mal viele Bilder mit meiner Digikamera und möchte jetzt ein Programm zum archivieren schreiben. Das Programm soll alle Daten in einem Ordner umbenennen. Also, hier ein Beispiel:

    -p1280001.jpg -p1280002.jpg -p1280003.jpg -...

    => Programm öffnen, Eingabe des Dateinamen (also hier nur landschaft) und das Programm ändern alle Daten in dem Ordner in z.B.

    -Landschaft0001.jpg -Landschaft0002.jpg -Landschaft0003.jpg -...

    Der Sinn darin ist, dass ich die Daten z.b. 50 Bilder nicht per Hand umschreiben muss. Das habe ich bis jetzt:

    #include <stdio.h>
    
    int main() 
    {
    	printf("\n\n");
    	printf("\t********************  \n");
    	printf("\t**----------------**  \n");
    	printf("\t**|    MyAlbum   |**  \n");
    	printf("\t**|    Officer   |**  \n");
    	printf("\t**|     0.1a     |**  \n");
    	printf("\t**----------------**  \n");
    	printf("\t********************  \n\n\n");
    
    	if(rename("test120001.jpg","test0001.c")!=0)
    		perror("Fehler beim Umbenennen");
    	else
    		printf("Datei umbenannt!\n\n");
    	return 0;
    }
    

    Wie bekomme ich jetzt hin, dass er sich nicht auf eine Datei spezialisiert und das man nicht jede Datei einzeln hier aufführen muss? 😕



  • Das was Du sicher suchst (alle Dateien in einem Verzeichnis auflisten, usw.), ist mit normalen ANSI-C leider nicht möglich. Da wirst Du wohl die Funktionen Deines Betriebssystems verwenden müssen.
    Sag am besten, um welches OS es geht und dann wird Dich jemand ins entsprechende Forum schieben.
    In der Zwischenzeit such schon mal in Zusammenhang mit Deinem OS nach Funktionen wie findfirst(), findnext() usw.



  • Ah, es geht um Linux. 🙂



  • Dieser Thread wurde von Moderator/in Shade Of Mine aus dem Forum ANSI C in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Dafür ein neues Programm? Warum verwendest Du nicht einfach rename(1) oä?



  • Du könntest das ganze mit einem einfachen shell Befehl machen:

    rename p128 Landschaft p128*


Anmelden zum Antworten