- #1
S
Selenic
Neues Mitglied
Themenersteller
- Dabei seit
- 28.02.2005
- Beiträge
- 4
- Reaktionspunkte
- 0
Schönen guten Tag,
ich habe eine Batch Datei erstellt, die einen Ordner nach bestimmten Dateiendungen durchsucht und diese dateien, falls sie älter als 31 tage sind, löscht. Geschrieben habe ich das Ganze unter Windows Xp. Leider ist der Rechner auf das Script laufen soll ein Windows 2000 Rechner. Und vermutlich deswegen bekomme ich die schöne Meldung: Fehlende Klammer.
Ich kann die fehlende Klammer nicht finden, und weis auch sonst keinen Anstatz, da das Script unter XP problemlos funktioniert. Vielleicht kann mir jemand sagen, wo der Fehler liegt.
Grüße
ich habe eine Batch Datei erstellt, die einen Ordner nach bestimmten Dateiendungen durchsucht und diese dateien, falls sie älter als 31 tage sind, löscht. Geschrieben habe ich das Ganze unter Windows Xp. Leider ist der Rechner auf das Script laufen soll ein Windows 2000 Rechner. Und vermutlich deswegen bekomme ich die schöne Meldung: Fehlende Klammer.
Ich kann die fehlende Klammer nicht finden, und weis auch sonst keinen Anstatz, da das Script unter XP problemlos funktioniert. Vielleicht kann mir jemand sagen, wo der Fehler liegt.
Grüße
Code:
@set verzeichnis=I:\sonstiges\
@cls
@echo off
title Loeschroutine fuer Printing v1.00
set tagheute=%date:~0,2%
set monatheute=%date:~3,2%
set jahrheute=%date:~6,4%
set /a datumheute=%tagheute%+(%monatheute%*30)+(%jahrheute%*360)
echo echo #######################################################
echo Arbeitsverzeichnis: %verzeichnis%
echo echo #######################################################
echo.
set count=0
set count2=0
dir %verzeichnis%*.txt /-c|findstr /i /c:. > temp.txt
for /f tokens=1,2,3,5* delims=. %%i in ('findstr .txt temp.txt') do (
set dateiname=%%m
@call :auswertung %%i %%j %%k
)
del temp.txt
echo.
echo #######################################################
echo.
echo Geloeschte Dateien: %count%
echo Verbleibende Dateien: %count2%
endlocal
echo.
echo #######################################################
echo.
sleep 2
goto ende
echo.
echo echo #######################################################
:auswertung
set tag=%1%
set monat=%2%
set jahr=%3%
set /a datum=%tag%+(%monat%*30)+(%jahr%*360)
set /a differenz=%datumheute%-%datum%
set /a zeitbisloesch=14-%differenz%
for /f tokens=1,2,3 delims=. %%m in ('date /t') do (
if %differenz% GEQ 14 (
set /a count=%count%+1
echo Geloescht: %dateiname%
)else (
rem echo %zeitbisloesch% Tage verbleibend...
set /a count2=%count2%+1
)
)
:ende