Präfix von mehreren Datei-Namen ändern

  • Hey!
    Ich wollte einmal wie es möglich ist mehrere Datei-Namen auf ein bestimmtes Wort / Präsix zu überprüfen und dieses mit einem anderen zu ersetzen.
    Umbenennen kann man ja mit der Funktion FileMove, oder mit der UDF von ytwinky.
    Gibt es so etwas evtl. schon?

    Vielen Dank für eure Hilfe.

  • liegen die alle in einem ordner?

    Wenn ja schau dir mal die befehle filefindfirst filefindnext an, alles in ein array laden das array per schleife abarbeiten fertig :)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Ja die Dateien liegen alle in dem selben Ordner.
    Ich denke du meinst 'FileFindFirstFile' und 'FileFindNextFile', oder?

  • Okay, ich habe nun schon ein ganzes Stück herumprobiert, bin jedoch noch nicht großartig weitergekommen.
    Hier mein Code:

    [autoit]


    #include <Array.au3>
    #include <File.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $files = "c:\USR\H4a185C\DSK\FLDR\" ;Pfad der Dateien

    [/autoit][autoit][/autoit][autoit]

    While 1
    $files = _FileListToArray($files) ;Dateien einlesen
    _ArrayDisplay($files) ;Dateien + Anzahl ([0]) werden angezeigt
    For $c = 1 To $files[0]
    $srce = $files[$c]
    StringReplace($srce, '-', 'replaced') ;Falls ein "-" in einem String gefunden wird soll es mit replaced ersetzt werden
    Next
    _ArrayDisplay($files) ;Zeigt die Dateien (Sollte doch auch die Änderungen anzeigen, oder nicht?)
    Exit
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Du musst den geänderten String auch wieder der Variablen zuweisen:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    #include <File.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $files = "c:\USR\H4a185C\DSK\FLDR\"; Pfad der Dateien

    [/autoit] [autoit][/autoit] [autoit]

    $files = _FileListToArray($files); Dateien einlesen
    _ArrayDisplay($files); Dateien + Anzahl ([0]) werden angezeigt
    For $c = 1 To $files[0]
    $files[$c] = StringReplace($files[$c], '-', 'replaced'); Fall ein "-" in einem String gefunden wird soll es mit replaced ersetzt werden
    Next
    _ArrayDisplay($files); Zeigt die Dateien (Sollte doch auch die Änderungen anzeigen, oder nicht?)

    [/autoit]
  • Oh, vielen Dank für deine schnelle Hilfe!
    Funktioniert jetzt alles.
    Werde es nur noch ein wenig ausschmücken, gibt es sonst noch Dinge mit denen man das Programm "verfeinern", bzw. den Arbeitsrythmus verbessern kann?

    Einmal editiert, zuletzt von Korby (16. Oktober 2008 um 18:09)