サンプル集  >  MS-DOS  >  2つのファイルの更新日付を比較
2つのファイルの更新日付を比較
2017/11/11

2つのファイルの更新日付を比較します。

◆環境
OS Windows 10 Home 64bit

FORの%~tIを使ってファイルの日付/時刻を変数に格納しIFで比較します。

◆FOR /?の結果から抜粋
FOR %変数 IN (セット) DO コマンド [コマンドパラメータ]
バッチプログラムでは%%変数を使う
%~tI - %Iファイルの日付/時刻に展開

set TS1=%%~taでTS1に%aファイルの日付/時刻を展開したものを格納します。

DIFFDATE.bat
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
@echo off
rem ########################################################
rem   2つのファイルの更新日付を比較
rem   2017.11.11 ymlib.com 新規作成
rem ########################################################
set F1=..\YMWDOS021-main.txt
set F2=..\YMWDOS021.html

rem 更新日付取得
FOR %%I IN (%F1%) DO set TS1=%%~tI
FOR %%I IN (%F2%) DO set TS2=%%~tI

echo %F1% %TS1%
echo %F2% %TS2%

IF "%TS1%" == "%TS2%" (
  echo 同じ
) ELSE (
  IF "%TS1%" GTR "%TS2%" (
    echo %F1%が最新
  ) ELSE (
    echo %F2%が最新
  )
)

◆実行結果
>DIFFDATE.bat
..\YMWDOS021-main.txt 2017/11/11 18:29
..\YMWDOS021.html 2017/11/11 18:15
..\YMWDOS021-main.txtが最新

>DIFFDATE.bat
..\YMWDOS021-main.txt 2017/11/11 18:29
..\YMWDOS021.html 2017/11/11 18:30
..\YMWDOS021.htmlが最新

>DIFFDATE.bat
..\YMWDOS021-main.txt 2017/11/11 18:32
..\YMWDOS021.html 2017/11/11 18:32
同じ

▲ PageTop  ■ Home


Copyright (C) 2017 ymlib.com