@echo off
:: *********************************************************************************
::
:: target file listing only
:: target file listing and delete
::
:: *********************************************************************************
CALL :volumeinfo
SET FileAction_ACTION=LIST
SET FileAction_MINUS_DAYS=-149
SET FileAction_PATH=d:\test
IF NOT "%1"=="" (
SET FileAction_ACTION=%1
)
IF NOT "%2"=="" (
SET FileAction_MINUS_DAYS=%2
)
IF NOT "%3"=="" (
SET FileAction_PATH=%3
)
ECHO %date% %time% %0 %FileAction_ACTION% %FileAction_MINUS_DAYS% %FileAction_PATH%
IF /I %FileAction_ACTION% EQU LIST GOTO MAINST
IF /I %FileAction_ACTION% EQU ROTATE GOTO MAINST
EXIT /B 1
:MAINST
CALL :FileAction %FileAction_ACTION% %FileAction_PATH% %FileAction_MINUS_DAYS%
IF NOT %ERRORLEVEL% EQU 0 GOTO MAINNG
GOTO MAINOK
:MAINNG
ECHO %date% %time% MAINNG
EXIT /B 1
pause
:MAINOK
fsutil volume diskfree d:
ECHO %date% %time% MAINOK
EXIT /B 0
:: *********************************************************************************
:: FileAction
:: target file listing only rae
:: target file listing and delete
::
:: *********************************************************************************
:FileAction
SET FORFILES_ACTION=%1
SET FORFILES_PATH=%2
SET FORFILES_MINUS_DAYS=%3
IF /I %FORFILES_ACTION% EQU LIST GOTO SEC_LIST
IF /I %FORFILES_ACTION% EQU ROTATE GOTO SEC_ROTATE
:SEC_LIST
FORFILES /P %FORFILES_PATH% /D %FORFILES_MINUS_DAYS% /C "cmd /c echo @path @fsize @fdate @ftime"
IF NOT %ERRORLEVEL% EQU 0 GOTO SEC_NG
GOTO SEC_OK
:SEC_ROTATE
ECHO "AAA"
rem FORFILES /P %FORFILES_PATH% /D %FORFILES_MINUS_DAYS% /C "cmd /c del @path | echo @path @fsize @fdate @ftime"
rem FORFILES /P %FORFILES_PATH% /D %FORFILES_MINUS_DAYS% /C "cmd /c del @path"
FORFILES /P %FORFILES_PATH% /D %FORFILES_MINUS_DAYS% /C "cmd /c echo @path @fsize @fdate @ftimede l del @path"
IF NOT %ERRORLEVEL% EQU 0 GOTO SEC_NG
GOTO SEC_OK
:SEC_NG
ECHO SEC_NG %ERRORLEVEL%
EXIT /B 1
:SEC_OK
EXIT /B 0
:: *********************************************************************************
:: volume info
:: *********************************************************************************
:volumeinfo
for /F "tokens=1,2,*" %%I in ('fsutil volume diskfree D:') do (
if %%I==利用可能な空きバイト総数 (
echo %%K
set str=%%K
echo %str%
echo www
rem set num=%str:~0,-3%
rem set /a M=1024
rem set /a int=%num% / %M%
rem set free_k=%int%
rem call :trim %%K
rem set free_k=%%K
)
if %%I==バイト総数 (
echo %%K
set str=%%K
rem echo %str%
rem set num=%str:~0,-3%
rem set /a M=1024
rem set /a int=%num% / %M%
rem set all_k=%int%
rem call :trim %%K
rem set all_k=%%K
)
)
echo %free_k% %all_k%
:: *********************************************************************************
:: triming MB
:: *********************************************************************************
:trim
set str=%~1
set num=%str:~0,-3%
set /a M=1024
set /a int=%num% / %M%
set MB=%int%
echo %MB%MB
exit /b 0
rem *********************************************************************************
rem event log out
rem Input
rem Level
rem Description
rem *********************************************************************************
:SetEVNTLOG
SET event_Level=%1
SET event_ID=%2
SET event_Description=%3
SET event_Source="Acronis"
SET event_LogName=APPLICATION
EVENTCREATE /T %event_Level% /ID %event_ID% /D %event_Description% /SO %event_Source% /L %event_LogName%
IF %ERRORLEVEL% EQU 0 GOTO LOGEND
echo %ERRORLEVEL%
:LOGEND
EXIT /B