an Sepp
07.02.2023 11:14:28
Antonio
diesen Code von dir habe hier im Forum gefunden, funzt auch ganz gut aber halt nur für einen Ordner.
Sub test() Const cstrInitalPath As String = "C:\Users\a.mazza\Desktop\TEST UNZIP\" Const cstrSearch As String = "musicXML" Const cstrReplace As String = "1 Headlight" Call renameFilesAndFolders(cstrInitalPath, cstrSearch, cstrReplace) End Sub Sub renameFilesAndFolders(StartFolder As String, sSearch As String, sReplace As String) Dim objFSO As Object, objFolder As Object, objSFolder As Object, objFile As Object Dim strNewName As String Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(StartFolder) For Each objSFolder In objFolder.SubFolders For Each objFile In objSFolder.Files If objFile.Name Like "*" & sSearch & "*" Then strNewName = objFile.ParentFolder.Path & "\" & Replace(objFile.Name, sSearch, sReplace) objFSO.MoveFile objFile.Path, strNewName End If Next If objSFolder.Name Like "*" & sSearch & "*" Then strNewName = objSFolder.ParentFolder.Path & "\" & Replace(objSFolder.Name, sSearch, sReplace) objFSO.MoveFolder objSFolder.Path, strNewName Else strNewName = objSFolder.Path End If Call renameFilesAndFolders(strNewName, sSearch, sReplace) Next End SubIn "C:\Users\a.mazza\Desktop\TEST UNZIP\" habe ca. 300 Ordner mit Name, darin befinden sich Dateien mit
den Namen "musicXML", alle sind so benannt.
Kannst du oder jemand anders mir helfen den Code so zu ergänzen das alle Dateien nach ihrem Ordnername umbenannt werden?
LG Antonio