Я хочу написать командный файл, который будет проходить через все каталоги, содержащие каталог резервных копий и удалять файлы старше X дней внутри него. На компьютере, на котором я хочу запустить мой скрипт, нет команды «forfile». Нет PowerShell, поэтому CMD или VBScripts - это единственный способ выполнить эту задачу.Windows CMD - set for for loop не работает
В настоящее время у меня проблема с оператором «set» - кажется, что когда я звоню % checkpath% Я не получил ожидаемую папку.
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
Возможный дубликат [Почему эта партия переменная никогда не изменяется даже при установке?] (https://stackoverflow.com/questions/3949978/why-does-this-batch-variable-never-change-even-when-set) –