Dateien nach Namen in Ordner sortieren
Hallo,
ich habe einen Ordner voll Dateien, alle sind benannt nach folgendem Muster:
Protokoll 2010-04-13 23-12-34.dat
Protokoll 2011-05-23 23-12-34.dat
usw
Diese Dateien möchte ich per Batch in folgende Ordnerstruktur einsortieren:
Protokoll 2010-04-13 23-12-34.dat nach C:\Dateien\Protokoll 2010-04\Protokoll 2010-04-13\
Protokoll 2011-05-23 23-12-34.dat nach C:\Dateien\Protokoll 2011-05\Protokoll 2011-05-23\
usw
Ich hab hier einen Batchschnipsel gefunden, der die Dateien nach dem DateiDATUM in Ordner sortiert, aber in meinem Fall hilft das nix, weil das Dateidatum meiner Dateien oft nicht mit dem Dateinamen übereinstimmt, sprich: Eine Datei mit dem Namen 2010... könnte auch das Dateidatum 2008... haben.
Wie kann ich also die Dateien nach dem DateiNAMEN wegsortieren?
Danke im Voraus und viele Grüße
Martin
ich habe einen Ordner voll Dateien, alle sind benannt nach folgendem Muster:
Protokoll 2010-04-13 23-12-34.dat
Protokoll 2011-05-23 23-12-34.dat
usw
Diese Dateien möchte ich per Batch in folgende Ordnerstruktur einsortieren:
Protokoll 2010-04-13 23-12-34.dat nach C:\Dateien\Protokoll 2010-04\Protokoll 2010-04-13\
Protokoll 2011-05-23 23-12-34.dat nach C:\Dateien\Protokoll 2011-05\Protokoll 2011-05-23\
usw
Ich hab hier einen Batchschnipsel gefunden, der die Dateien nach dem DateiDATUM in Ordner sortiert, aber in meinem Fall hilft das nix, weil das Dateidatum meiner Dateien oft nicht mit dem Dateinamen übereinstimmt, sprich: Eine Datei mit dem Namen 2010... könnte auch das Dateidatum 2008... haben.
Wie kann ich also die Dateien nach dem DateiNAMEN wegsortieren?
Danke im Voraus und viele Grüße
Martin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182878
Url: https://administrator.de/contentid/182878
Ausgedruckt am: 24.11.2024 um 04:11 Uhr
3 Kommentare
Neuester Kommentar
Aloha,
hast du es denn schon einmal mit unserer Suchfunktion versucht?
Dateien in Ordnern nach ihrem Namen zu verschieben kommt so oft vor, wie Feiertage im Jahr.
Solltest du es also bewerkstelligen, passende Threads aus den nicht wenigen vorhandenen zu finden, gebe ich dir noch das Fundament mit auf den Weg:
zusammen mit
und
Das
greetz André
hast du es denn schon einmal mit unserer Suchfunktion versucht?
Dateien in Ordnern nach ihrem Namen zu verschieben kommt so oft vor, wie Feiertage im Jahr.
Solltest du es also bewerkstelligen, passende Threads aus den nicht wenigen vorhandenen zu finden, gebe ich dir noch das Fundament mit auf den Weg:
pushd "%Pfad%"
for /f "delims=" %%s in ('dir /b /a-d *.dat') do (
setlocal enabledelayedexpansion
set "Datei=%%s"
set "Verz1=!Datei:~0,-12!"
set "Verz2=!Datei:~0,-9!"
set "Ziel=C:\Dateien\!Verz1!\!Verz2!"
if not exist "!Ziel!" md "!Ziel!"
echo move "%%s" "!Ziel!"
)
popd
Das
echo
vor move
dient der Voransicht, die unschöne Art, den Dateinamen zu kürzen, statt mit tokens
zu arbeiten, gebe ich deshalb an, weil man so sicher sein kann, dass Protokoll auch Protokoll Irgendwas oder Protokoll-Irgendwas heißen kann ... sofern sich 23-12-34 nicht irgendwie in einstellige Dinge à la 9-13-27 verändert, dann greift das nämlich falsch aber wie so oft stehen wir hier ja vor einem halbgaren EP, sodass ich mir nicht einmal die Mühe mache, auf meiner Linuxkiste jetzt ein Formatierungsprogramm à la Proton zu installieren, um einen getabbeden code zu liefern.greetz André