Jump to content

2700 Dateien anhand Dateinamen in Ordner verschieben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Servus,

 

ich hab derzeit folgendes Problem:

 

in einem Ordner liegen ca. 2700 mit Dateinamen ala DBA_3_xxxx_xxx.tif.

Diese Dateien sollen in Ordner kopiert werden, die die Namen DBA_3_xxxx tragen.

Wenn der passende Ordner zu einer Datei nicht vorhanden ist muss dieser natürlich vorher erstellt werden.

 

Beispiel:

 

DBA_3_0001_001.tif

DBA_3_0001_013.tif

müssen in den Ordner DBA_3_0001

 

DBA_3_0142_321.tif

muss in den Ordner DBA_3_0142

 

usw...

 

Mein Problem hierbei ist, dass die Dateien nicht von 0 bis irgendwas durchgängig vorhanden sind. Ich hab jetzt selber versucht das ganze unter vbscript umzusetzen - bin aber mit Erfolg gescheitert. In der Boardsuche konnte ich leider nichts passendes finden.

 

Wer kann helfen?

 

Gruß saracs

Geschrieben

Vielen Dank,

 

ein guter Ansatz. Jetzt muss ich nur noch schauen wie ich die nicht vorhandenen Ordner abfrage und ggf. automatisch erstellen kann.

 

Irgendwie hat ich das scripten einfacher in Erinerrung :rolleyes:

 

Gruß saracs

Geschrieben

Moin saracs,

 

ich würde es mit zwei Zeilen vom CMD-Prompt aus abfackeln.

 

for /f "delims=_ tokens=1-3 " %i in ('dir /a-D /b d:\einDBADir\DBA_3_*') do @if not exist "d:\einDBADir\%i_%j_%k" md "d:\einDBADir\%j_%j%k"
for /f "delims=_ tokens=1-3 " %i in ('dir /aD /b d:\einDBADir\DBA_3_*') do move "d:\einDBADir\%i_%j_%k*.tif" "d:\einDBADir\%j_%j%k\"
[/Code]

[ungetestete Skizze]

 

Grüße

Biber

Geschrieben

Servus,

 

hier meine Lösung:

 

@echo off

cls

set SRC=c:\quelle
set DEST=c:\ziel

for /f "tokens=4" %%i in ('dir %SRC% ^| find "_"') do (
for /f "tokens=1-3 delims=_" %%j in ("%%i") do (

	 md %DEST%\%%j_%%k_%%l 2>nul


	 echo copy %SRC%\%%i %DEST%\%%j_%%k_%%l\%%i

	 copy %SRC%\%%i %DEST%\%%j_%%k_%%l\%%i >nul

	if %errorlevel% EQU 0 (
		echo Datei  %%i  erfolgreich nach  %%j\%%k\%%l  kopiert
	) else (
		echo FEHLER beim Verarbeiten der Datei  %%i
	)
)
)

 

Vielen Dank an alle, besonder phonixcp für den ersten Link!

 

Gruß saracs

 

PS: grrr... war ja klar, dass irgendwas wieder nicht funktionieren wird :rolleyes: Im Moment wird nur die erste Datei kopiert. der rest bleibt unberührt, obwohl kein Fehler gemeldet wird... Ich poste wieder sobald es was neues gibt.

 

PPS: Habe nun den Code berichtigt. Funktioniert einwandfrei :)

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...