Windows CMD - ustawienie w pętli for nie działa

Chcę napisać plik wsadowy, który będzie przechodził przez wszystkie katalogi zawierające katalog kopii zapasowych i usuwał pliki starsze niż X dni. Na komputerze, na którym chcę uruchomić mój skrypt, nie ma polecenia „forfile”. Nie ma PowerShell, więc CMD lub VBScripts wydają się być jedynym sposobem na wykonanie tego zadania.

Obecnie mam problem z deklaracją „set” - wydaje się, że kiedy dzwonię% checkpath% Nie otrzymałem oczekiwanego folderu.

rem we will memorize current directory
pushd %cd%
set folder="C:\Documents and Settings\myname\Desktop"
cd %folder%
rem loop only folders with five chars within their names (unfortunately on less also
for /D %%g in (?????) DO (
    set checkpath="%cd%\%%g\backup"
    if exist %checkpath% (
        for %%a in ('%%g\backup\*.*') do (
        set FileDate=%%~ta
        set FileDate=%%FileDate:~0,10%%
        rem here I want to compare file modification data with current date
        )
    )
popd
pause

questionAnswers(2)

yourAnswerToTheQuestion