Batch Dateien verschieben in Verzeichis welches Bestandteil des Dateinamens ist
Hallo zusammen,
ich habe eine kleine Herausforderung:
Ich muss per Batch Dateien in Unterverzeichnisse verschieben.
Soweit erstmal nicht schwer
Die Dateien haben unterschiedliche Dateiendungen, enthalten aber alle gleichermaßen das Sortierkennzeichen ABE_123 wobei ABE_ immer gleich bleibt und sich nur die 3 stellige Nummer ändert.
Gleichermaßen gibt es auch einen Verzeichnisbaum, die sich - hier im Beispiel - mit ABE_123 bzw. ABE_ und der 3 stelligen Nummer decken, wo die Dateien dann reingeschoben werden sollen.
Man müßte also aus dem Dateinamen den String ABE_123 in eine Variable schreiben, mit welcher sich der move Befehl dann einfach zusammenbauen läßt und eine For-Schleife bauen, die alle Dateien im Quellverzeichnis abarbeitet.
Vielleicht hat jemand einen praktischen Tip für mich.
Danke & viele Grüße
Thomas
ich habe eine kleine Herausforderung:
Ich muss per Batch Dateien in Unterverzeichnisse verschieben.
Soweit erstmal nicht schwer
Die Dateien haben unterschiedliche Dateiendungen, enthalten aber alle gleichermaßen das Sortierkennzeichen ABE_123 wobei ABE_ immer gleich bleibt und sich nur die 3 stellige Nummer ändert.
Gleichermaßen gibt es auch einen Verzeichnisbaum, die sich - hier im Beispiel - mit ABE_123 bzw. ABE_ und der 3 stelligen Nummer decken, wo die Dateien dann reingeschoben werden sollen.
Man müßte also aus dem Dateinamen den String ABE_123 in eine Variable schreiben, mit welcher sich der move Befehl dann einfach zusammenbauen läßt und eine For-Schleife bauen, die alle Dateien im Quellverzeichnis abarbeitet.
Vielleicht hat jemand einen praktischen Tip für mich.
Danke & viele Grüße
Thomas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 278269
Url: https://administrator.de/contentid/278269
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
5 Kommentare
Neuester Kommentar
Hi,
Mein Lösungsansatz (fast immer in Powershell) wäre folgender:
Grüße
Mein Lösungsansatz (fast immer in Powershell) wäre folgender:
$sourcepath = "C:\sourcefolder\"
$destpath = "C:\destination\"
$files = Get-ChildItem -Path $sourcepath
if ($files -ne $null) {
foreach ($file in $files) {
$subfolder = $file.Name.Substring(0,7)
$subfolder = $subfolder.Substring(4)
$destinationfolder = $destpath + "ABE_"+$subfolder
if (-Not (Test-Path $destinationfolder)) {
New-Item $destinationfolder -type directory
}
Move-Item $file.Fullname $destinationfolder
}
}
Grüße