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