Verschieben Sie Dateien in einen Ordner mit passendem Dateinamen

Verschieben Sie Dateien in einen Ordner mit passendem Dateinamen

Ich habe doc-, docx- und PDF-Dateien, deren Dateinamen aus einer eindeutigen 9-stelligen Zahl gefolgt von Text bestehen.

Ich möchte diese Dateien in die entsprechenden Ordner verschieben, die ebenfalls mindestens aus der eindeutigen 9-stelligen Nummer bestehen, aber möglicherweise einen anderen Text haben.

Diese Ordner befinden sich in einem anderen Ordner auf der Festplatte, aber ich kann die Dokumente bei Bedarf problemlos in denselben übergeordneten Ordner verschieben. Die Datei- und Ordnernamen sind eine Kombination aus 123456789_Vorname_Nachname.docx. Anstelle von Unterstrichen können Leerzeichen oder Kommas vorhanden sein oder es dürfen überhaupt keine Leerzeichen vorhanden sein. Sicher ist jedoch, dass der Datei- und Ordnername mit 9 Zahlen beginnt.

Ich habe Python, Hazel und Directory Opus installiert und kann bei Bedarf alles andere installieren, damit dieser Prozess funktioniert. Es gibt Tausende von Dateien, daher wäre ich für eine Lösung sehr dankbar.

Antwort1

Kein Skript-Schreibdienst, aber diese (ungetestete) PowerShell sollte Ihnen den Einstieg erleichtern:

$DestParent = 'C:\NumberedFolders'
Get-ChildItem *.txt, *.pdf | %{
   $ID = $_.BaseName.Substring(0,8)
   $Dest = (Get-Item "$destparent\$ID*").FullName
   Move-Item -Path $_.FullName -Destination $Dest
}

Untergeordnetes Element abrufen

ForEach-Objekt

String.Substring-Methode

Get-Item

Artikel verschieben

verwandte Informationen