Windows CMD - establecer dentro de for loop no funciona

Quiero escribir un archivo por lotes que recorrerá todos los directorios que contengan el directorio de copia de seguridad y eliminará los archivos que tengan más de X días. En la computadora que quiero ejecutar mi script no hay un comando "forfile". No hay PowerShell, por lo que CMD o VBScripts parece ser la única forma de realizar esta tarea.

Actualmente tengo un problema con la declaración "set" - parece que cuando estoy llamando% checkpath% No recibí la carpeta 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

Respuestas a la pregunta(2)

Su respuesta a la pregunta