Dateien umbenennen

  • Hallo zusammen,

    ich habe mir ein kleines Script gebastelt, welches mir Dateinamen in einem Ordner umbenennt. Das funktioniert auch bestens, jedoch stehe ich jetzt vor einer Sache wo ich nicht genau weiß was ich anpassen muss. Vielleicht kann mir jemand kurz helfen.

    Hier mal mein Script:
    $search = FileFindFirstFile("*.jpg") ; vielleicht auch "*.jpg" ?


    ; Check if the search was successful
    If $search = -1 Then
    MsgBox(0, "Error", "Es existieren keine Dateien")
    Exit
    EndIf

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop

    FileMove($file,StringReplace(StringReplace($file,"-"," "),"\\"," "))
    ;FileMove($file,StringReplace(StringReplace($file,"ß","ss")))
    WEnd
    FileClose($search)


    Ich möchte nun folgendes erreichen:
    Ich habe in einem Ordner z.B. folgende Dateien:
    50000 Bild21 FW2015.jpg
    50000 Bild22 FW2015.jpg
    85001 Bild11 FW2015.jpg
    85001 Bild12 FW2015.jpg

    und davon hunderte.

    Mein Ergebnis soll nun so aussehen:
    50000.jpg
    50000b.jpg
    85001.jpg
    85001b.jpg

    D.h. ich würde gerne alles außer der fünfstelligen Zahl löschen wollen und wenn es doppelte gibt, das zweite File natürlich anders benennen. Ob ein "b" oder was auch immer ist egal, Hauptsache es heisst anders.

    Hat jemand eine Idee wie ich mein Script anpassen müsste?

    Herzlichen Dank

    Gruß

  • Quellcode das nächste mal bitte in ein Code-Tag packen bitte ;)

    Wenn es immer 5-stellige Zahlen sind, kannst du einfach ein StringMid( $sString, 1, 5 ) machen. Dann jede Zahl die du ermittelt hast in ein Array "pushen" und vorher natürlich immer fragen ob es bereits einen Eintrag mit selber Nummer gibt, wenn ja irgendwas anhängen und push. Zum Schluss Array auslesen und ausgabe produzieren.

    Update:


    Grüße Yaerox

    Grüne Hölle

    Einmal editiert, zuletzt von Yaerox (9. September 2015 um 11:53)

  • Hallo Yaerox,

    vielen Dank für deine Hilfe.
    meine Autoit Kenntnisse sind leider ein wenig eingerostet. Hab mich lange damit nicht mehr beschäftigt.
    Meinst du du könntest meinen Code kurz anpassen?

    Vielen vielen Dank.

    • Offizieller Beitrag

    Yaerox: Was soll das für ein Script sein?
    If $i <> 0 Then... das tritt in Deinem Script nie ein.
    $counter++ ist keine gültige AutoIt-Syntax.


    @jmewald: versuch's mal hiermit: