Ansicht:   

#404355 Batchfile Ordner nach Dateinamen erzeugen (pc.coding)

verfaßt von otti1a, 26.10.2016, 18:05:59

Hallo Leute,

seit 3 vollen Tagen suche ich im Netz nach einer Lösung und bin nicht wirklich fündig geworden, darum bitte ich um eure Hilfe, da ich noch dazu im Programmieren eine völlige Niete bin. Das Problem: in einem Ordner D:Botanik habe ich ca. 5500 Pflanzenfotos, nach (über 100) Familien sortiert, z.B. D:BotanikKorbblütlerxy.jpg Der Aufbau der Dateinamen geht so:
wissenschaftlicher Name - deutscher Name (Land Ort)_01
Natürlich gibt es für viele Pflanzen mehrere Bilder und was ich brauche, ist ein Code (möglichst .bat oder .vbs) der 1. innerhalb des Familien-Ordners neue Folder erzeugt, benannt nach den Pflanzennamen bis zur Klammer und 2. die Files in den jeweils passenden Ordner verschiebt.
Habe schon einige Batches und ein vbs -Script (Beisp. siehe unten) probiert, wobei das Problem bei mir ist, dass ich auch zu wenig Kenntnisse habe, um die Scripts richtig anzupassen! Auch mit einigen Progs (TC,Dropit, watch Directory, file2folder, advanced renamer und noch andere ...) bin ich nicht weitergekommen. Das Ergebnis war entweder ein Folder für jedes file - bzw. eine Fehlermeldung oder überhaupt keine Aktion bei den Scripts. Ich brauche aber nur so viele Folder, wie Dateien mit gleichlautendem Namen bis zur Klammer im Familien-Ordner sind.
Beispiel für ein Skript:

for /f "delims=_ tokens=1-3 " %i in ('dir /a-D /b d:einDBADirDBA_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:einDBADirDBA_3_*') do move "d:einDBADir%i_%j_%k*.tif" "d:einDBADir%j_%j%k"



oder:

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

 

gesamter Thread:

  • Batchfile Ordner nach Dateinamen erzeugen - otti1a - 26.10.2016, 18:05:59 [6196 Hits] [Board][Mix]
Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz