質問編集履歴
1
タイトル誤字と質問の文言を修正しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
バッチファイル if
|
1
|
+
バッチファイル if文の条件句で遅延環境変数を使用する方法
|
test
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
ファイル更新日付と現在時刻を比較する処理を作成しています。
|
5
|
+
ファイル更新日付と現在時刻の2分前の時刻を比較する処理を作成しています。
|
6
6
|
|
7
|
+
現在時刻の2分前の時刻とファイル更新日付をYYYYMMDDhhmmの形で変数に格納することはできましたが、
|
8
|
+
|
7
|
-
ファイル更新日付の
|
9
|
+
ファイル更新日付の変数をifの条件句にいれると値を参照してくれません。
|
8
10
|
|
9
11
|
|
10
12
|
|
@@ -32,7 +34,7 @@
|
|
32
34
|
|
33
35
|
rem 現在日付より2分前の時刻を作成
|
34
36
|
|
35
|
-
set datetime1=%date:~0,4%%date:~5,2%%date:~8,2%%
|
37
|
+
set datetime1=%date:~0,4%%date:~5,2%%date:~8,2%%hh%%mn%
|
36
38
|
|
37
39
|
|
38
40
|
|
@@ -46,7 +48,7 @@
|
|
46
48
|
|
47
49
|
|
48
50
|
|
49
|
-
for /r %%A in (
|
51
|
+
for /r %%A in (test*.txt) do (
|
50
52
|
|
51
53
|
setlocal enabledelayedexpansion
|
52
54
|
|
@@ -82,13 +84,7 @@
|
|
82
84
|
|
83
85
|
### 試したこと
|
84
86
|
|
85
|
-
datetime1には現在時刻の2分前をセットしています。
|
86
|
-
|
87
|
-
datetime3にファイルの更新日時をセットしたのですが、if文条件句の書き方がわるいのか、
|
88
|
-
|
89
|
-
datetime1<datetime3の場合もtrueとして処理されてしまいます。
|
90
|
-
|
91
|
-
batを起動すると該当箇所
|
87
|
+
上記コードのbatを起動すると該当のif条件句の箇所が下記のように表示されます。
|
92
88
|
|
93
89
|
|
94
90
|
|
@@ -100,6 +96,10 @@
|
|
100
96
|
|
101
97
|
|
102
98
|
|
99
|
+
datatime3へセット直後のechoでは値が出力されているので、値のセットはされているようです。
|
100
|
+
|
101
|
+
|
102
|
+
|
103
103
|
どのように書けばよろしいでしょうか。
|
104
104
|
|
105
105
|
ご教示願います。
|