Am 10.02.2010 um 17:10 schrieb Christian Dorn: > Ansonsten sehe ich auf den ersten Blick keine Probleme.
Das kommt davon, wenn man Tomaten auf den Augen hat ;-) Zuerst einmal hast Du dir eine wunderschöne Endlosschleife programmiert: bei jedem ersten Durchlauf der for-Schleife kommst Du zu der Zeile "goto start", wodurch die for-Schleife wieder bei 1 anfängt; d.h. Du kommst nie dazu, die zweite Datei im Ordner zu bearbeiten! Außerdem ist Dein Code sehr ineffizient. Stell Dir vor, Du wählst einen Ordner mit 10.000 Dateien, und nur die letzten 100 Dateinamen enthalten einen "/". Mit deinem Code würdest Du die ersten 9.900 Dateien 100 Mal nutzlos durchlaufen (und bei jeder dieser Dateien versuchen, einen nicht vorhandenen "/" zu ersetzen)! Besser wäre es, Du bautest dir erst eine statische Liste aller Dateien im ausgewählten Ordner auf. Und da diese Funktion öfter von Nutzen sein kann, solltest Du sie gleich als globale Methode in ein Modul packen: Function FileList( Extends folder as FolderItem ) as FolderItem() #pragma DisableBackgroundTasks // kann bei großen Dateimengen die Ausführung beschleunigen dim files() as FolderItem for i as Integer = 1 to folder.count files.append folder.TrueItem(i) next i return files End Function Und auch Deine Funktion zum Umbenennen der Dateien könntest Du zur Wiederverwendung in dieses Modul packen: Sub RenameFiles( Extends folder as FolderItem, searchStr as String, replaceStr as String ) #pragma DisableBackgroundTasks // s.o. dim fileList() as FolderItem = folder.FileList() for each file as FolderItem in fileList file.name = ReplaceAll( file.name, searchStr, replaceStr ) next file End Sub Zum Umbenennen der Dateien führst Du dann an geeigneter Stelle diesen Code aus: [...] dim folder as FolderItem = SelectFolder() if not (folder Is nil) then folder.RenameFiles("/", "_") end if [...] Gruß Christian