回答編集履歴
2
微修正
test
CHANGED
@@ -24,5 +24,5 @@
|
|
24
24
|
ファイルの3行目が`"version": "1.2.!3!"`だったりするとこれらコードでは駄目です。
|
25
25
|
`!`があっても大丈夫なように作り直すのは多分可能。
|
26
26
|
|
27
|
-
「どんな文字が来てもOK」というのはバッチスクリプトでは無理です
|
27
|
+
「どんな文字が来てもOK」というのはバッチスクリプトでは無理と思った方が良いです。そういうケースでは他の言語を検討しましょう。
|
28
28
|
|
1
別解追記
test
CHANGED
@@ -10,3 +10,19 @@
|
|
10
10
|
`^`は「直後の1文字をクォートする」という機能です。それ自体がクォートされてない限りですが。
|
11
11
|
`"tokens=3 delims=^" "`だと、`^`が`"`に囲まれてクォートされているため「直後の1文字をクォートする」という機能を失ってしまうので駄目です。
|
12
12
|
|
13
|
+
## 追記
|
14
|
+
と思いましたが、単純に「`"`の削除」と考えると
|
15
|
+
```CMD
|
16
|
+
for /f "tokens=2 delims=: " %%v in (%%a) do (
|
17
|
+
set v=%%v
|
18
|
+
echo !v:"=!
|
19
|
+
)
|
20
|
+
```
|
21
|
+
一旦変数にセットすると、文字列置換が使えます。変数中のすべての`"`を削除。こちらは簡単ですね。
|
22
|
+
|
23
|
+
いずれにせよ、バッチスクリプトでの文字列処理は難しいです。
|
24
|
+
ファイルの3行目が`"version": "1.2.!3!"`だったりするとこれらコードでは駄目です。
|
25
|
+
`!`があっても大丈夫なように作り直すのは多分可能。
|
26
|
+
|
27
|
+
「どんな文字が来てもOK」というのはバッチスクリプトでは無理ですので、そういうケースでは他の言語を検討しましょう。
|
28
|
+
|