Windows CMD - definido dentro de loop não está funcionando

Eu quero escrever o arquivo em lotes que irá percorrer todos os diretórios contendo diretório de backup e remover arquivos com mais de X dias dentro dele. No computador que eu quero executar o meu script não há comando "forfile". Não há PowerShell, portanto, CMD ou VBScripts parece ser o único meio de realizar essa tarefa.

Atualmente eu tenho problema com a declaração "set" - parece que quando eu estou chamando% checkpath% Eu não recebi a pasta esperada.

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