Batch script to delete file older than 1 day using creation date -


batch script delete file older 1 day.

d means: run date passing through command prompt.

how subtract 1 day in d.

i want delete 1 day old file,the file name starting olddayfile_20140323.txt in same code.

am using below code deleting d (d:current day file) files.

@echo on  rem %1 %2 %3 - yyyy mm dd  set folder1="c:\fx\in"  set folder2="c:\fx\out"  set d=%1%2%3%  cd /d %folder2%  del test1_%1%2%3*  del test2_%1%2%3*  del test3_%1%2%3* 

please note below script working,but it's working modified date files.

forfiles.exe /p c:\fx\out /s /m olddayfile_* /d -1 /c "cmd /c del @file" 

please suggest me new batch script.

try below code delete file name of 1 day less current date (format yyyymmdd)

 @echo off  setlocal   call :getdatetime year month day  set a=%year%%month%%day%   call :subtractdate %year% %month% %day% -1 ret   set b=%ret%  @echo ###start deleting  :: variables  set source=g:\    echo ### deleting old backup...  del /q /s "%source%\%b%*.*"    :subtractdate year month day <+/-days> ret  ::adapted dostips functions::  setlocal & set a=%4  set "yy=%~1"&set "mm=%~2"&set "dd=%~3"  set /a "yy=10000%yy% %%10000,mm=100%mm% %% 100,dd=100%dd% %% 100"  if %yy% lss 100 set /a yy+=2000 &rem adds 2000 2 digit years  set /a jd=dd-32075+1461*(yy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yy+4900+(mm-14)/12)/100)/4  if %a:~0,1% equ + (set /a jd=%jd%+%a:~1%) else set /a jd=%jd%-%a:~1%  set /a l= %jd%+68569,     n= 4*l/146097, l= l-(146097*n+3)/4, i= 4000*(l+1)/1461001  set /a l= l-1461*i/4+31, j= 80*l/2447,  k= l-2447*j/80,      l= j/11  set /a j= j+2-12*l,      i= 100*(n-49)+i+l  set /a yyyy= i, mm=100+j, dd=100+k  set mm=%mm:~-2% & set dd=%dd:~-2%  set ret=%yyyy: =%%mm: =%%dd: =%  endlocal & set %~5=%ret%  exit /b   :getdatetime year month day hour minute second  @echo off & setlocal  /f "tokens=2 delims==" %%a in ('wmic os localdatetime /value') set "dt=%%a"  set "yy=%dt:~2,2%" & set "yyyy=%dt:~0,4%" & set "mm=%dt:~4,2%" & set "dd=%dt:~6,2%"  set "hh=%dt:~8,2%" & set "min=%dt:~10,2%" & set "sec=%dt:~12,2%"  ( endlocal     if "%~1" neq "" set "%~1=%yyyy%"      if "%~2" neq "" set "%~2=%mm%"      if "%~3" neq "" set "%~3=%dd%"     if "%~4" neq "" set "%~4=%hh%"      if "%~5" neq "" set "%~5=%min%"     if "%~6" neq "" set "%~6=%sec%"  )  exit /b 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -