Hallo zusammen,
Ich bin neu bei AutoIt und versuche, ein Skript zu erstellen, um das Umbenennen einer großen Anzahl von Dateien in einem Verzeichnis zu automatisieren. Das Ziel besteht darin, bestimmte Muster in Dateinamen durch neuen Text zu ersetzen. Ich möchte beispielsweise Dateinamen wie folgt ändern:
- report_2023_final.txt → report_final_2023.txt
- log_2023_backup.zip → backup_log_2023.zip
Ich habe mit String-Manipulationsfunktionen wie StringReplace() und StringSplit() experimentiert, aber ich habe Probleme, die Dateien in einem Ordner zu durchlaufen und diese Transformationen konsistent anzuwenden.
Das habe ich bisher erreicht:
#include <File.au3>
Local $folder = "C:\TestFiles"
Local $fileList = _FileListToArray($folder)
If @error Then
MsgBox(0, "Error", "Failed to retrieve file list.")
Exit
EndIf
For $i = 1 To $fileList[0]
Local $oldName = $fileList[$i]
; Logic to manipulate $oldName here
; Replace placeholders with actual transformation
Local $newName = StringReplace($oldName, "_2023_", "_") ; Attempt to rename file
FileMove($folder & "\" & $oldName, $folder & "\" & $newName)
Next
Alles anzeigen
Das Skript scheint die Dateien korrekt abzurufen, aber meine Transformationen schlagen entweder fehl oder führen beim Umbenennen zu Fehlern. Ich wäre für jede Anleitung dankbar zu:
1. Strukturierung der Logik für komplexere Namenstransformationen.
2. Behandlung von Fehlern während des Umbenennungsprozesses (z. B. doppelte Namen).
3. Best Practices zum Testen solcher Skripte ohne Risiko eines Dateiverlusts.
Vielen Dank im Voraus für Ihre Hilfe! Ich freue mich darauf, von Ihrem Fachwissen zu lernen.
Grüße
Elli