@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
