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

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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 :)

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...