I have here a batchfile wherein it will delete yesterday's files.
Why is it deleting everything instead the specified date? Any tips/hints?
@echo off
set "source=E:\test"
set day=-1
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "result=%yyyy%%mm%%dd%"
echo %result%
for /r "E:\test" %%G in (*%result%.txt) do (
DEL /F /Q "%%~fG" "E:\test"
if not exist "E:\test%%~nxG" (
echo File "%%~fG" Deleted
) else (
echo File "%%~fG" was not Deleted
)
)
pause
I am trying to learn how to use this shorter method : Link