Batch zum Dateien verschieben in untersch. Ordner

Hallo alle,

ich muss mehrere hundert oder manchmal tausend Dateien von einem Ordner in spezielle, andere Ordner verschieben. Und das täglich. Ich denke, dass eine Batch hierfür die richtige Lösung wäre. Einfaches verschieben aller Dateien in einen anderen Ordner klappt auch ganz gut, aber für meine spezielle Aufgabe fehlen mir dann doch die Experten-Kenntnisse… (o; Kann mir da jemand mit mehr Erfahrung helfen?

Die Dateien sind namentlich quasi so aufgebaut:

INFO_ZEICHEN_ARTIKELNR_DATUM_ZEICHEN.*
BESTELLUNG_ZEICHEN_ARTIKELNR_DATUM_ZEICHEN.*
RECHNUNG_ZEICHEN_ARTIKELNR_DATUM_ZEICHEN.*

Die Herausforderung:

Diese Dateien sollen nun auf einem anderen Laufwerk in spezielle Ordner, die nach den Artikelnamen benannt sind, verschoben werden.

D.h. aus dem einzelnen Dateinamen muss die ARTIKELNR ja erstmal in den Artikelnamen „übersetzt“ werden. Da die Zielordner nicht nach ARTIKELNR, sondern nach dem Artikelname benannt sind!!

Die ARTIKELNR steht nicht immer an derselben Position im Dateinamen. Ich vermute daher, dass die Dateinamen nacheinander in einen String übergeben werden müssen, um sie dann nach zuvor festgelegten ARTIKELNR zu durchsuchen und nach der entsprechenden „Übersetzung“ auf die Artikelbezeichnung (Zielverzeichnis) verschieben zu können.

Beispiel für die ARTIKELNR (im Dateinamen enthalten):
1001001-4563281
1005400-8321284
3441002-2385412

Beispiel für die Zielverzeichnisse:
Pullover.rot
Handtuchhalter-gelb
Farbfernseher

Nun wären beispielsweise in einigen der hundert Dateinamen die Artikelnr. 1005400-8321284 enthalten und diese müssten dann alle in den dafür vorgesehenenn Ordner Farbfernseher verschoben werden.

Am Rande: System ist XP und der Inhalt der Dateien ist uninteressant. Je Dateiname ist nur eine ARTIKELNR enthalten! Die meisten Dateien sind im Format Txt, Zip oder Txt.gz.

Hat jemand einen guten Ansatz für mich? VIELEN VIELEN DANK schonmal für eure Antworten!

Hallo snooopy77,

D.h. aus dem einzelnen Dateinamen muss die ARTIKELNR ja
erstmal in den Artikelnamen „übersetzt“ werden.

Nun wären beispielsweise in einigen der hundert Dateinamen die
Artikelnr. 1005400-8321284 enthalten und diese müssten dann
alle in den dafür vorgesehenenn Ordner Farbfernseher
verschoben werden.

Da musst Du aber vorher verraten, wo und wie diese Zuordnung ARTIKELNR ARTIKELNAME festgelegt ist. Gibt es da eine Datenbank (welche?), oder eine einfache Textdatei der Form

1005400-8321284=Farbfernseher

oder wie?
Ohne das zu wissen, kann wohl niemand hier loslegen. Es sei denn, ich habe was übersehen.
Außerdem: muß es unbedingt eine Batch-Datei sein, oder genügt auch irgendeine Skript/Programmiersprache?

Viele Grüße
Marvin

Hallo Marvin!

Danke zunächst für die Antwort. Ich hatte überlegt die Zuordnung direkt in der Programmierung dann vorzunehmen. Man könnte es aber der Ordnung halber natürlich auch in eine txt auslagern. Das Beispiel, wie von Dir geschrieben, ist schon richtig. Derzeit existiert aber noch keine Datei oder Datenbank für die Zuordnungen.

Es müsste nicht zwangsläufig eine Batch sein, sondern könnte auch etwas anderes sein. Allerdings wäre es dann von Vorteil, wenn keine Extra-Zusatzinstallationen oder Programme erforderlich wären. Wenn es also eine andere Sprache mit besseren Eigenschaften dafür gibt, gerne.

Vielen Dank schonmal! Lieben Gruß, snooopy77

Hallo snooopy77,
gleich am Anfang, damit niemand denkt, dein Problem ist schon fast gegessen, ich selbst bin nicht für Batch-Dateien zuständig. Mein Gebiet ist eher Linux, nicht Windows, also müsste sich noch jemand anderes melden.

Ich hatte überlegt die
Zuordnung direkt in der Programmierung dann vorzunehmen.

Das ist meist die schlechteste Lösung. Schwer zu warten, schwer zu lesen und schwer zu kontrollieren. Keine Ahnung, wieviel verschiedene Artikelnr. es gibt, aber wenn schon Datei, dann sollte sowas in einer Extradatei stehen. Die kannst Du von einer Hilfskraft tippen und kontrollieren lassen, was innerhalb von Programmcode irgendwie unübersichtlich und verwirrend wäre.
Aber es wundert mich doch, irgendwo muß eigentlich schon so eine Tabelle existieren, oder hast Du im Kopf, daß 12234-567-8 die Farbfernseher und 9876-6543-21 die roten Socken sind?

Es müsste nicht zwangsläufig eine Batch sein, sondern könnte
auch etwas anderes sein. Allerdings wäre es dann von Vorteil,
wenn keine Extra-Zusatzinstallationen oder Programme
erforderlich wären.

Verständlich, aber da müsstest Du dann allen willigen Programmierern hier verraten, ob und was in dieser Richtung schon vorhanden ist. Ich lehne mich jetzt ganz weit aus dem Fenster (weil wirklich nicht mein Gebiet), aber in Betracht kämen da eventuell die Windows Power Shell
http://de.wikipedia.org/wiki/Windows_PowerShell
oder ein Visual Basic Script (VBS)
http://de.wikipedia.org/wiki/Visual_Basic_Script
Beide sind auf jeden Fall mächtiger als so ein Batch-File, denke ich mal.

Viele Grüße
Marvin