Hallo, 
  
so wie ich das sehe, willst Du immer die Dateien mit dem vorletzten Datum ermitteln und kopieren. Für Win9X Systeme ist das nicht ganz so einfach, eine .vbs-Datei würde das hier vereinfachen. Habe es aber denoch mit einer Batch + 2 Zusatztools (Batch + Com) gemacht. 
  
[Deine Batch] (erste Batch) 
------------------ab hier 
@echo off 
cls 
rem aktuelles Datum 
call datex a 1 
rem alle Dateien vor den aktuellen Datum 
dir /od *.sta|find /v "%a%">loe.txt 
rem Dateien mit vorletztem Datum ermitteln 
type setword 4 >tmp.bat 
call tmp a 
rem alle dateien mit vorletztem Datum speichern 
type loe.txt|find "%a%">loe.txt 
:zs1 
rem Aufruf einzelner Dateien 
type loe.txt|setword 6>tmp.bat 
call tmp a 
rem wenn .txt-Datei leer Ende 
if %a%'==' goto end 
rem erste Zeile der .txt-Datei wird entfernt 
type loe.txt|find v "%a%">loe.txt 
type %a%>>xy.txt 
goto zs1 
:end 
set a= 
cls 
------------------bis hier 
  
Für das aktuelle Datum sofern benötigt; bietet mehrere Möglichkeiten) 
Datex.bat 
-------------------------ab hier 
@echo off 
cls 
rem  Erläuterungen siehe am Ende 
rem  oder nur einfach datex1 eingeben 
for %%e in (loop loop2 loop3) do if %2'==%%e' goto %2 
set a2=%1 
set a3=%2 
set a4=%3 
set ~t=%TEMP%.\Tmp 
echo @Prompt For %%%%%%%%D In ($D) Do Call %0 : loop %%%%%%%%D>%~t%1.bat 
%COMSPEC% /C %~t%1.bat.>%~t%2.bat 
call %~t%2.bat 
call %~t%4 a1 
Echo ; | Choice /S /C:;%a1%; %0 : loop2,>%~t%1.bat 
%~t%1.bat 
:loop 
Echo @Prompt Set %%%%1=_%3_ > %~t%3.bat 
%COMSPEC% /C %TEMP%.\Tmp3.bat > %~t%4.bat 
For %%C In (Call Goto:end) Do %%C %~t%4 
:loop2 
set a1=%0 
for %%e in (x x1 x2) do set %%e= 
If %4'==_' Shift 
for %%e in (set shift) do %%e x=%x%%4 
for %%e in (set shift) do %%e x=%x%%4 
for %%e in (set shift) do %%e x=%x%%4 
for %%e in (set shift) do %%e x1=%x1%%4 
for %%e in (set shift) do %%e x1=%x1%%4 
if  %a3%'==1' for %%e in (shift shift shift goto:loop11) do %%e 
shift 
for %%C in (shift set) do %%C x2=%4 
for %%C in (shift set) do %%C x2=%x2%%4 
:loop11 
for %%C in (shift set) Do %%C x2=%x2%%4 
for %%C in (shift set) do %%C x2=%x2%%4 
if not %a4%'==1' for %%e in (shift set goto:end1) do %%e x=%x%%x1%.%x2% 
echo %a1% : loop3 01;Januar;02;Februar;03;Maerz;04;April;05;Mai;06;Juni;07; Juli;08;August;09;September;10;Oktober;11;November;12;Dezember;%1>%~t%0.bat 
For %%C In (Call Goto:end) Do %%C %~t%0.bat 
:loop3 
if %3==%x1% for %%e in (shift set goto:end1) do %%e x=%x%%4 %x2% 
for %%e in (shift shift goto:loop3) do %%e 
:end1 
if not "%a2%"=="" goto end2 
echo. 
echo    Ermittelt nur das aktuelle Datum 
echo    %%1 = Ausgabe-Variable fuer das Datum  
echo    %%2 = Jahresangaben leer oder 0 wenn Jahr ist 4-stellig / 1 ist 2-stellig 
echo         0 nur angeben wenn %%3 aktiviert 
echo    %%3 = Monat     leer ist Zahl / 1 ist Text 
echo.  
echo    Aktuelles Datum:  %x% 
for %%e in (echo. pause goto:end3) do %%e 
:end2 
set %a2%=%x% 
:end3 
del %~t%?.bat>nul 
for %%e in (a2 a3 a4 a1 x x1 x2 ~t) do set %%e= 
:end 
cls 
-------------bis hier 
  
[.com-Datei - Setword.com] um in Win9X tokens (Wörter ) einer Zeile zu ermitteln. 
einfach in eine Textdatei (z.B Notepad) als setword.com Datei abspeichern 
  
[setword.com] 
-------------ab hier 
¾ ¬< tûN+À*ÿ¹ 
 ŠF€ë08Ës÷áØsíP¾¢+Û‰ò¹ ð´?Í!‹ØÆ ¹ º›» ´@Í!]…íuE+ɬ< tû<,t÷<;tó<=tï< 
të< 
tçN‰ò€<t FŠ< t<,t<;t<=t< 
t< 
uàA;Íu¿‹Î)Ñ´@Í!´>Í!¸ LÍ!set %1= 
---------------bis hier 
  
müßte auf dieser Basis laufen; mußt das ganze aber noch auf Deine Bedürfnisse anpassen. 
  
MfG  maneich