回答編集履歴
2
補足追記
answer
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
⇒ `setlocal enabledelayedexpansion`を冒頭に入れて、`"!nanana!"`と`!`で参照する。ただし、他のバッチ処理と組み合わせて使うときは`setlocal`の意味の理解が必要。
|
|
47
47
|
|
|
48
48
|
案2は、BATスクリプト内に単なる文字列の`!`の文字がなくて、変数の値にも`!`が含まれ得ないときは、単純修正で済みます。`!`が使われている場合はよく考える必要あり。
|
|
49
|
-
案1は修正が多いですが、括弧の中身が複雑な時は括弧
|
|
49
|
+
案1は修正が多いですが、括弧の中身が複雑な時は、括弧を使わず中身を全部サブルーチンにしてCALLで呼ぶほうがデバッグが楽になります。
|
|
50
50
|
|
|
51
51
|
あと、4行目と9行目は無意味なので削除しましょう。うまくいかず、試行錯誤途中で追加したのですかね?
|
|
52
52
|
|
1
補足追記
answer
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
pause
|
|
21
21
|
```
|
|
22
22
|
6行目の`(`に対応する`)`ですが、おそらく15行目行頭の`)`のつもりなのでしょう。
|
|
23
|
-
しかし実際は、7行目以降に最初に出てきた`)`で、6行目の`(`は閉じてしまいます。
|
|
23
|
+
しかし実際は、7行目以降に最初に出てきた`)`で、6行目の`(`は閉じてしまいます。(`)`を二重引用符`"`で囲むなど引用(クォート)されている場合は除外)
|
|
24
24
|
それは、8行目の`(y/n)`の`)`です。で、そのあとの`:`が括弧の外なのでエラー。
|
|
25
25
|
`( echo ABC ):` の1行を実行してみると、同じく「: の使い方が誤っています。」というエラーになるかと思います。
|
|
26
26
|
|