回答編集履歴

4

コードに間違いがあったので修正

2019/04/07 03:07

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,8 +1,6 @@
1
- どうやら、私の回答記載「以下を省略した記述」に誤りがあるようです。
1
+ 当初記載した「以下を省略した記述」に誤りがあった為、質問記載のコードと私の回答記載のコード結果に相違があります。
2
2
 
3
- 質問記載のコードと私の回答記載のコードで結果に相違があります。
4
-
5
- 質問記載の場合、```if```(```else if```)の条件で、command(cmd)がどのよう解釈ているのか現状不明
3
+ 質問記載の```if```(```else if```)の条件を省略せず展開した物を正しい物書き換えま
6
4
 
7
5
 
8
6
 
@@ -10,11 +8,7 @@
10
8
 
11
9
 
12
10
 
13
- 質問記載のif 文は都合よく記述されてますが以下を省略した記述になります。
14
-
15
- 変数```B1```が```FALSE```の場合はすべて、```REM (1)```のところに入ります。
16
-
17
- ```FALSE FALSE FALSE```の場合以外は```words```に値は入りません。
11
+ 質問記載のif 文は都合く記述されますが以下を省略した記述になります。```B1=FALSE```、```B2=TRUE```の場合```words```に値は入りません。
18
12
 
19
13
 
20
14
 
@@ -26,49 +20,47 @@
26
20
 
27
21
  ) else if "%B1%" == "FALSE" (
28
22
 
29
- REM (1)
30
-
31
23
  if "%B2%" == "FALSE" (
32
24
 
33
25
  if "%B3%" == "FALSE" (
34
26
 
35
27
  set words="%B1% %B2% %B3% Result2"
36
28
 
37
- )
29
+ ) else if "%B1%" == "FALSE" (
38
30
 
39
- )
31
+ if "%B2%" == "FALSE" (
40
32
 
41
- ) else if "%B1%" == "FALSE" (
33
+ if "%B3%" == "TRUE" (
42
34
 
43
- if "%B2%" == "FALSE" (
35
+ set words="%B1% %B2% %B3% Result3"
44
36
 
45
- if "%B3%" == "TRUE" (
37
+ ) else if "%B1%" == "FALSE" (
46
38
 
47
- set words="%B1% %B2% %B3% Result3"
39
+ if "%B2%" == "TRUE" (
48
40
 
49
- )
41
+ if "%B3%" == "FALSE" (
50
42
 
51
- )
43
+ set words="%B1% %B2% %B3% Result4"
52
44
 
53
- ) else if "%B1%" == "FALSE" (
45
+ ) else if "%B1%" == "FALSE" (
54
46
 
55
- if "%B2%" == "TRUE" (
47
+ if "%B2%" == "TRUE" (
56
48
 
57
- if "%B3%" == "FALSE" (
49
+ if "%B3%" == "TRUE" (
58
50
 
59
- set words="%B1% %B2% %B3% Result4"
51
+ set words="%B1% %B2% %B3% Result5"
60
52
 
61
- )
53
+ )
62
54
 
63
- )
55
+ )
64
56
 
65
- ) else if "%B1%" == "FALSE" (
57
+ )
66
58
 
67
- if "%B2%" == "TRUE" (
59
+ )
68
60
 
69
- if "%B3%" == "TRUE" (
61
+ )
70
62
 
71
- set words="%B1% %B2% %B3% Result5"
63
+ )
72
64
 
73
65
  )
74
66
 

3

コメントに対して追記

2019/04/07 03:07

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -1,3 +1,15 @@
1
+ どうやら、私の回答記載の「以下を省略した記述」に誤りがあるようです。
2
+
3
+ 質問記載のコードと私の回答記載のコードで結果に相違があります。
4
+
5
+ 質問記載の場合、```if```(```else if```)の条件で、command(cmd)がどのように解釈しているのか現状不明。
6
+
7
+
8
+
9
+ ----
10
+
11
+
12
+
1
13
  質問記載のif 文は都合よく記述されてますが以下を省略した記述になります。
2
14
 
3
15
  変数```B1```が```FALSE```の場合はすべて、```REM (1)```のところに入ります。

2

追記

2019/04/07 02:53

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -65,3 +65,35 @@
65
65
  )
66
66
 
67
67
  ```
68
+
69
+
70
+
71
+ 複数の変数に対して組み合わせを```if```文で記述する場合は以下のようにすると簡潔に書けます
72
+
73
+
74
+
75
+ ```BAT
76
+
77
+ if "%B1%" == "TRUE" (
78
+
79
+ set words="%B1% %B2% %B3% Result1"
80
+
81
+ ) else if "%B1% %B2% %B3%" == "FALSE FALSE FALSE" (
82
+
83
+ set words="%B1% %B2% %B3% Result2"
84
+
85
+ ) else if "%B1% %B2% %B3%" == "FALSE FALSE TRUE" (
86
+
87
+ set words="%B1% %B2% %B3% Result3"
88
+
89
+ ) else if "%B1% %B2% %B3%" == "FALSE TRUE FALSE" (
90
+
91
+ set words="%B1% %B2% %B3% Result4"
92
+
93
+ ) else if "%B1% %B2% %B3%" == "FALSE TRUE TRUE" (
94
+
95
+ set words="%B1% %B2% %B3% Result5"
96
+
97
+ )
98
+
99
+ ```

1

誤記修正

2019/04/06 06:28

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  変数```B1```が```FALSE```の場合はすべて、```REM (1)```のところに入ります。
4
4
 
5
- よって、```FALSE FALSE FALSE``の場合以外は```words```に値は入りません。
5
+ よって、```FALSE FALSE FALSE```の場合以外は```words```に値は入りません。
6
6
 
7
7
 
8
8