set
はバッチファイルでは機能しませんでした。問題を解決するのに時間がかかりました。最初に私がDOSバッチ:SET変数とECHOブロック内(...)ブロック
a = "aaa"
b = "bbb"
なぜを期待するのに対し、スクリプト
@echo off
setlocal
set a=aaa
echo a = "%a%"
(
set b=bbb
echo b = "%b%"
)
が出力
a = "aaa"
b = ""
を生成
...それはサブルーチン呼び出しで行うことだと思いましたこれはどうですか? DOSのバグですか?おそらく、私が気付いていないコマンド群の構文である(...)
に関する何かがあります。
ありがとうございました。
簡潔な返信ありがとうございます。番号付きのパラメータ%1などの構文があるかどうか知りますか?私は!1と!1!を試しましたが、これらは動作しません。 (私は:サブルーチン呼び出しのコンテキストでこれを求めています。) – Rhubbarb
%a%型変数の構文と実行の間で変更できないので、重要であることがわかりません。 –
あなたは大丈夫です。スクリプトには他にも問題があり、同じ症状を示しました。問題が解決しました。非常に(すべてに)ありがとう。 – Rhubbarb