Mit Batch Dateien nach Kunde, Jahr und Monat sortiert ablegen

The_Elements

Grünschnabel
Hallo Zusammen.

Ich soll für einen Kunden ein Archivierungsskript schreiben, um seine Kundenabrechnungen nach Kunde, Jahr und Monat sortiert ablegen. Zum Beispiel: Kunde1_16.10.2017.pdf nach Kunde1\2017\2017-10.
Bis jetzt habe ich folgendes:

Code:
@echo off && title %~n0 && color 70
setlocal
rem Bitte Quellordner anpassen!
set Quellordner=C:\Users\xxx\Desktop\BatchTest\Daten\
set Listenordner=C:\Users\xxx\Desktop\BatchTest\Listen\
echo. && echo Kopiere alle Dateien um von %Quellordner%
for /f "eol=# tokens=1-3 delims=," %%a in (%Listenordner%kunden2.txt) do (
  echo.%%a -^> %%b
  set ZielOrdner=%%c
  for /f "delims=" %%i in ('dir /b %Quellordner%*.pdf^|findstr /b %%a') do call :Uprg %%i
)
echo.
pause
goto :Ende
:Uprg
set Dateiname=%~1
set Jahr=%date:~-4%
set Monat=%Jahr%%date:~-7,2%
echo %Monat%
echo Kopiere %Dateiname% nach %ZielOrdner%
copy %Quellordner%%Dateiname% %ZielOrdner%\%Jahr%\%Monat%
:Ende
Endlocal

Ausgegeben wird aber:

Code:
Kopiere alle Dateien um von C:\Users\xxx\Desktop\BatchTest\Daten\

Drücken Sie eine beliebige Taste . . .

Jetzt meine Frage: Wo habe ich einen Fehler gemacht? Ich sehe ihn nicht. Könnt Ihr mir helfen?
 
Hab den Fehler gefunden. Die Reverenzliste-Textdatei ist nicht korrekt gespeichert worden, als ich es aus einer Exel-Datei heraus erstellt habe.
 
Zurück