バッチファイル

ファイルのタイムスタンプを読み取ってYYYYMMDDフォルダ配下に退避するバッチファイル

概要

対象ファイルのタイムスタンプを読み取って、対象フォルダ配下にYYYYMMDDの形式でフォルダを作成し、
その中に対象ファイルを退避します。

修正するところ

  • TARGETFILE => 退避元のファイル名or拡張子に*をつけて記述
  • TARGETDIR  => 退避元のフォルダをフルパスで記述
  • TARGETDIR2 => 退避先のフォルダをフルパスで記述

処理内容

バッチファイル
@echo off
SET TARGETDIR = "C:\work"
SET TARGETDIR2 = "C:\workk"
SET TARGETFILE = "*.log"

SETLOCAL ENABLEDELAYEDEXPANSION
for %%i in ( %TARGETDIR%\%TARGETFILE% ) do (
  SET fdate=%%~ti
  SET fdate=!fdate:~0,10!
  SET ffdate=!fdate:/=!
  IF NOT EXIST %TARGETDIR2%\!ffdate! (
    MKDIR %TARGETDIR2%\!ffdate! > nul
    MOVE "%%i" %TARGETDIR2%\!ffdate! > nul
  ) ELSE (
    MOVE "%%i" %TARGETDIR2%\!ffdate! > nul
  )
)
ECHO 最終ファイルまで処理が完了しました
PAUSE