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