waholin
Goto Top

BATCH - anhand von Dateinamen neue Verzeichnisse erstellen

Hallo,

ich versuche nun seit Stunden, eine Lösung für mein Problem in Eurem Forum zu finden. Habe da zwar einiges gefunden, aber bei mir funktioniert das alles nicht.
Problemstellung:
Es gibt eine Datei "Data". In dieser befinden verschiedenartigste Dateien. Diese Dateien möchte ich inhaltlich zusammenfassen und in eigene Ordner speichern.
Beispiel:
Datensatz (Dateiname): 4166078_2023_Nr.005_Kontoauszug_vom_2023.05.31_20230612102201.pdf

ich möchte diese Datei nach Data\Kontoauszug\2023 verschieben. Dazu suche ich zuerst nach "Kontoauszug" im Dateinamen.
Wenn gefunden, dann verwende ich diesen Namen und erstelle mit den Stellen 9-12 des Dateinamens ein Unterverzeichnis, in welches dann diese Datei verschoben werden soll.

Das ist mein Code hierfür:
@echo off & setlocal

REM 4166078_2023_Nr.005_Kontoauszug_vom_2023.05.31_20230612102201

set "Quelle=W:\Programmierung\Batch\Data"    
set "Typ=pdf"    
set "Ziel=W:\Programmierung\Batch"    
set "SearchKey=Konto"    

for %%i in ("%Quelle%\*.%Typ%") do (    
	for /f %%a in ("%%~ni" | findstr /c:"%SearchKey%") do (    
	pause
	set "Ordner=Konto"  
	set "Unterordner=2024"  
	rem set "Unterordner=%tokens=9-12%  
   )
   call ProcessFile "%%i"  
   pause
)
goto :eof

:ProcessFile
set "ZielOrdner=%Ziel%\%Ordner%\%Unterordner%"  
xcopy %1 %ZielOrdner"  
move %1 %ZielOrdner"  
pause
:eof

Könnt ihr mir bitte dabei helfen, dies so hinzubekommen. Dafür bin ich Euch schon im Vorhinein dankbar.
LG waholin

Content-ID: 668070

Url: https://administrator.de/forum/batch-anhand-von-dateinamen-neue-verzeichnisse-erstellen-668070.html

Ausgedruckt am: 21.12.2024 um 18:12 Uhr

14260433693
Lösung 14260433693 11.09.2024 aktualisiert um 21:57:33 Uhr
Goto Top
@echo off & setlocal

set "Quelle=W:\Programmierung\Batch\Data"      
set "Typ=pdf"  
set "SearchKey=Kontoauszug"  

for %%a in ("%quelle%\*%Searchkey%*.%typ%") do (  
    for /f "tokens=2 delims=_" %%b in ("%%~na") do (  
        if not exist "%quelle%\%Searchkey%\%%b" md "%quelle%\%Searchkey%\%%b" >nul  
        move "%%a" "%quelle%\%Searchkey%\%%b\"  
    )
)
Gruß
waholin
Lösung waholin 13.09.2024 um 08:55:02 Uhr
Goto Top
Hallo,

vielen, vielen Dank für Deine Unterstützung. Jetzt funktioniert alles so, wie ich es möchte

VG waholin