0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

windowsbatファイルで対象フォルダの指定フォーマットのファイルを削除する

Posted at

windowsのbatファイルで、指定のファイルフォーマットの指定した日付のフォルダ以外を削除するバッチ処理を作ってみました。

echo off
if "%1"=="" (
echo エラー: 日数の引数が指定されていません。
goto :eof
)
if "%2"=="" (
echo エラー: フォルダパスの引数が指定されていません。
goto :eof
)

set DAYS=%1
set TARGET_DIR=%2
for /f "tokens=" %%F in ('dir /b /a-d "%TARGET_DIR%\FILENAME_.log"') do (
set FILENAME=%%F
set FILEDATE=!FILENAME:~9,8!
set YEAR=!FILEDATE:~0,4!
set MONTH=!FILEDATE:~4,2!
set DAY=!FILEDATE:~6,2!
set FILEDATE_STR=!YEAR!-!MONTH!-!DAY!
for /f "tokens=1-3 delims=-" %%A in ("!FILEDATE_STR!") do (
set FILEDATE_EPOCH=%%A%%B%%C
)
for /f "tokens=1-3 delims=-" %%A in ('powershell -command "(Get-Date).AddDays(-%DAYS%).ToString('yyyyMMdd')"') do (
set THRESHOLD_DATE=%%A%%B%%C
)
if !FILEDATE_EPOCH! LSS !THRESHOLD_DATE! (
echo Deleting file: %TARGET_DIR%!FILENAME!
del "%TARGET_DIR%!FILENAME!"
)
)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?