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