(RAW) Dateinamen aus einem Ordner lesen und in einem zweiten Ordner nachsehen ob der Dateiname (oder mehr) enthalten ist. Wichtig falls z.B. exportierte JPGs bereits umbenannt wurden und jetzt die dazugehörigen RAW Dateien aussortiert werden müssen. Wird ein Dateiname aus Ordner 1 in Ordner 2 gefunden, wird die Datei in einen Unterordner mit der Bezeichnung 1 verschoben.
Excel VBA Code (getestet mit Windows unter Paralells auf Mac)
Sub MoveRawFiles()
Dim sourcePath As String
Dim destinationPath As String
Dim jpgFolderPath As String
Dim fileName As String
Dim fileExtension As String
Dim jpgFiles As String
Dim rawFiles As Object
Dim rawFile As Variant
Dim destinationFile As String
Dim fso As Object
'Pfad zum Ordner mit den RAW-Dateien
sourcePath = "\\Mac\Home\Pictures\2023_07_08 Ordner\"
'Pfad zum Zielordner (darunterliegender Ordner mit dem Namen "1")
destinationPath = "\\Mac\Home\Pictures\2023_07_08 Ordner\1\"
'Pfad zum Ordner mit den JPG-Dateien
jpgFolderPath = "\\Mac\Home\Pictures\2023_07_08 Ordner\JPG (Volle Auflösung)\"
'Erzeugen eines FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
'Alle RAW-Dateien im Quellordner durchlaufen
Set rawFiles = fso.GetFolder(sourcePath).Files
For Each rawFile In rawFiles
If LCase(fso.GetExtensionName(rawFile.Path)) = "arw, cr3" Then
fileName = fso.GetBaseName(rawFile.Name) 'Dateiname ohne Erweiterung
fileExtension = fso.GetExtensionName(rawFile.Path) 'Dateierweiterung
'Prüfen, ob der Dateiname ohne Erweiterung im JPG-Ordner enthalten ist
jpgFiles = Dir(jpgFolderPath & "*(" & fileName & ")*")
'Wenn der Dateiname nicht im JPG-Ordner gefunden wurde
If jpgFiles = "" Then
'Verschieben der RAW-Datei in den Zielordner
destinationFile = destinationPath & fileName & "." & fileExtension
fso.MoveFile rawFile.Path, destinationFile
End If
End If
Next rawFile
MsgBox "Vorgang abgeschlossen!"
End Sub
Neueste Kommentare