前提・実現したいこと
ファイル更新日付と現在時刻の2分前の時刻を比較する処理を作成しています。
現在時刻の2分前の時刻とファイル更新日付をYYYYMMDDhhmmの形で変数に格納することはできましたが、
ファイル更新日付の変数をifの条件句にいれると値を参照してくれません。
該当のソースコード
dos
1rem @echo off 2 3set time2=%time: =0% 4 5set hh=%time2:~0,2% 6set /a mn=%time2:~3,2% -2 7set ss=%time2:~6,2% 8 9rem 現在日付より2分前の時刻を作成 10set datetime1=%date:~0,4%%date:~5,2%%date:~8,2%%hh%%mn% 11 12rem 対象フォルダに遷移 13cd /d D:\ 14 15rem ファイル名の一覧を取得。ループで処理する。 16 17for /r %%A in (test*.txt) do ( 18setlocal enabledelayedexpansion 19 set datetime2=%%~tA 20 21 echo %datetime1% 22 echo %%~tA 23 echo !datetime2! 24 25 set datetime3=!datetime2:~0,4!!datetime2:~5,2!!datetime2:~8,2!!datetime2:~11,2!!datetime2:~14,2! 26 echo !datetime3! 27 28 if !datetime3! leq %datetime1% ( 29 echo datatime1以下 30 rem start /wait D:\bat\xxxx.bat 1 %%A 31 ) 32endlocal
試したこと
上記コードのbatを起動すると該当のif条件句の箇所が下記のように表示されます。
if !datetime3! LEQ 202003241157 (
!datetime3!がそのまま文字として認識されているのでしょうか。
datatime3へセット直後のechoでは値が出力されているので、値のセットはされているようです。
どのように書けばよろしいでしょうか。
ご教示願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。