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 Sub
In "C:\Users\a.mazza\Desktop\TEST UNZIP\" habe ca. 300 Ordner mit Name, darin befinden sich Dateien mitden 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
Anzeige