Dateien nach Typ in verschiedene Ordner sortieren

Hallo zusammen,

folgendes Problem:
Ich habe einen Ordner, der verschiedene Dateien und Unterordner mit ebenfalls verschiedenen Dateien enthält. Dieser Ordner füllt sich auch immer wieder mit Krams an.

Um das zu Sortieren muss ich bisher in jeden einzelnen Ordner und die verschiedenen Dateitypen in ihre Ordner zuweisen. Sehr umständlich. Und mit der Suche nach den ganzen Dateitypen suchen ist auch nicht der Bringer. - Es soll also jede *.doc in den „Texte“-Ordner, jede *.jpg in den „Bilder“-Ordner usw…

Für Windows Vista gibt es MagicFolder. Da hat man einfach den Überordner draufgezogen und das Programm hat alles sortiert. Diese Lösung wäre optimal. Das Programm funktioniert leider nur mit Vista und eine Alternative habe ich bisher noch nicht gefunden.
Zur Not tut es auch eine einfache Batch, aber so viel Ahnung habe ich leider nicht.

Wäre super, wenn mir da jemand helfen könnte.

Gruß
Torben

Um das zu Sortieren muss ich bisher in jeden einzelnen Ordner
und die verschiedenen Dateitypen in ihre Ordner zuweisen. Sehr
umständlich. Und mit der Suche nach den ganzen Dateitypen
suchen ist auch nicht der Bringer. - Es soll also jede *.doc
in den „Texte“-Ordner, jede *.jpg in den „Bilder“-Ordner
usw…

… gelöscht werden oder was?

ist über eine Batch wirklich sehr einfach:

del C:\ordner1*.doc
del C:\ordner1\unterordner*.jpg

damit werden aus dem Ordner C:\ordner alle *.doc und aus dem Ordner C:\ordner1\unterordner alle *.jpg gelöscht

… gelöscht werden oder was?

Nein, auf keinen Fall:wink:. Die Dateien sind gemischt in den Ordnern und ich möchte die nach Dateityp in einen für den Dateityp vorgesehen Ordner (außerhalb des Überordners) verschieben. Der Name der Unterordner (sowie die Anzahl selbiger) variiert. Ein konkreter Dateipfad kann da also nicht verwendet werden.

Konkret liegen die Dateien in
D:\Eingang’variablerordnername’\ oder auch in
D:\Eingang’variabler_ordnername’‚variabler_ordnername‘\
Manchmal bis zu 5 Unterordner. Und die Dateien sollen Verschoben werden nach:
D:\Sortiert\Bilder\ (bei *.jpg, *.tif, *.bmp usw.)
D:\Sortiert\Dokumente\ (bei *.doc, *.txt, *.rtf usw.)
D:\Sortiert\Excel\ (bei *.xls, *.xlsx)
usw.

Ich hoffe, das ist so besser verständlich.

Gruß
Torben

Moin, Torben,

xcopy \*.doc /s /v 
del \*.doc /s

xcopy \*.jpg /s /v 
del \*.jpg /s

Doc_Ordner und Bilder_Ordner dürfen natürlich nicht im Pfad liegen :smile:))

Gruß Ralf

xcopy *.doc /s /v
del *.doc /s

xcopy *.jpg /s /v
del *.jpg /s

Das geht schon eher in die Richtung. Das Problem, dass die Namen (und damit auch der Pfad) der Unterordner wechselt und es einfach sehr viele sind bleibt bestehen.
Dennoch danke für die Bemühungen. Wenn noch jemand eine Idee hat, immer her damit.

Gruß
Torben

Batch-Lösung
Erstelle eine SORT.BAT auf dem Desktop
und verwende folgende Anweisungen:

xcopy %1*.jpg /s /v D:\Sortiert\BILDER
del %1*.jpg /s

xcopy %1*.DOC /s /v D:\Sortiert\TEXTE
del %1*.DOC /s

usw.

Du brauchst den zu sortierenden Ordner nur
per Drag&Drop auf die Batch Datei ziehen.
Der Pfad dieses Ordners wird dann durch
%1 in den Anweisungen benutzt. Dürfte
genau das sein, was Du brauchst.

LG ALex

Erstelle eine SORT.BAT auf dem Desktop
und verwende folgende Anweisungen:

xcopy %1*.jpg /s /v D:\Sortiert\BILDER
del %1*.jpg /s

xcopy %1*.DOC /s /v D:\Sortiert\TEXTE
del %1*.DOC /s

Das ist auf jeden Fall schonmal super. Kann ich getrost mit arbeiten. Einziges Manko ist, dass Dateien in Unterordnern auch in den Sortierten Ordnern wieder in Unterordnern lagern. Idealer Weise werden Unterordner aufgelöst, so dass alle gleichen Dateien zusammen in einem Ordner liegen.
Dennoch Super.

Gruß
Torben

ohne xcopy

Einziges Manko ist, dass Dateien in Unterordnern
auch in den Sortierten Ordnern wieder in Unterordnern lagern.

Nachfolgende Batch ist eigentlich selbsterklärend…
HO + FO anpassen -> ohne Abschließenden \ und immer in
„…“ einschließen! (Hauptordner + FehlerberichtOrdner)

Dann einfach den mittleren Block für jedes
Unterverzeichnis duplizieren und entsprechend
UO (Unterordner) und Dateiendungen anpassen.

Falls Du doch bei bestimmten Dateien die Unterordner
mitkopiert haben willst kannste ja mit den xcopys
mischen.

Eventuell leerwerdende Verzeichnisse könnte man bei der
Gelegenheit auch direkt entsorgen, hab ich aber gerade
keine Lust zu )) sag ob Du das brauchst, dann schiebe
ich das nach.

LG ALex

Batch-Datei:

@echo off
set HO=„D:\Sortiert“
set FO=„C:\WINDOWS“
del %FO%\movefehler.txt >NUL

REM alle JPG, GIF, PNG, BMP Dateien
set UO=„Bilder“
echo [Verschieben nach: %UO%]
for /r %1 %%A in (*.jpg *.gif *.png *.bmp) do (
if exist %HO%%UO%%%~nxA (
echo %%A >>%FO%\movefehler.txt
) ELSE (
move „%%A“ %HO%%UO% >NUL
echo - %%A
)
)

REM Fehler ausgeben
if exist %FO%\movefehler.txt (
echo .
echo [Dateinamenkonflikt im Zielordner]
type %FO%\movefehler.txt
)

pause

Erstmal vielen Dank. Der Ansatz scheint richtig zu sein, aber ein kleiner (aber gravierender) Fehler scheint da noch drin zu sitzen.

Wenn ich den Ordner auf die Batch ziehe, legt die auch direkt los und arbeitet alles ab. Leider habe ich anschließend im „Sortiert“-Ordner keine weiteren Ordner, sondern Dateien ohne Endung, die wohl aus der letzten zu verschiebenden Datei bestehen. Also wenn ich z.B. an die Datei (die eigentlich ein Ordner sein sollte) „Bilder“ ein „.jpg“ anhänge, kann ich das Bild öffnen. Alle anderen Dateien sind futsch.

Also der Sortiert-Ordner enthält anstelle der Ordner jeweils eine Datei ohne Endung mit dem Ordnernamen.

Gruß
Torben

PS: Leere Unterordner löschen muss nicht sein. Das ist ja nur ein Klick und kann ich auch manuell machen.

Hi Torben,

Also der Sortiert-Ordner enthält anstelle der Ordner jeweils
eine Datei ohne Endung mit dem Ordnernamen.

also bei mir läuft die Batch einwandfrei, gerade noch
einmal getestet. -> Vista 32bit.
Habe festgestellt, daß sich die Parameter der for-
Schleifen z.B. unter XP anders verhalten.

LG ALex

Habe festgestellt, daß sich die Parameter der for-
Schleifen z.B. unter XP anders verhalten.

Habe XP MCE SP2. Es geht definitiv nicht. Hast du denn eine Ahnung, wie man das noch ans laufen kriegen kann? Der Ansatz ist nämlich echt genial.

Gruß
Torben

läuft bei mir XP SP3 einwandfrei. Kopiere mal den gesamten Text der DOSBOX und schicke mir das an meine email.

LG Alex