- ベストアンサー
バッチファイルでフォルダ削除
初心者の為バッチファイルの御教授お願いします。 下記のようなフォルダがあります。 0001_2015_11_25 0002_2015_11_25 0001_2015_10_10 0002_2015_10_10 みていただくと分かると思いますが日付を含んだフォルダ名となっております。 このフォルダ名から日付を取得し、指定した日数より古い日付を持ったフォルダを削除したいと思っています。 例えば日数を30とすると下記フォルダのみが残るようにしたいと思っています。 0001_2015_11_25 0002_2015_11_25
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
日数計算は、バッチでやるのは不可能では無いですが、面倒です。 日付計算だけ、VBScriptでやります。 @echo off set OLD=30 echo WScript.Echo DateAdd("d",-%OLD%,Date()) > tmp.vbs for /f "tokens=1-3 delims=/-" %%A in ('cscript //nologo tmp.vbs') do set YMD=%%A_%%B_%%C del tmp.vbs for /d %%D in (????_????_??_??) do call :sub %%D goto :EOF :sub set D=%1 set YYYY_MM_DD=%D:~5% if %YYYY_MM_DD% LSS %YMD% rd /s /q %1 goto :EOF