基本的には、このピースを使用してvar内の文字列を置き換えていますが、ネストされた遅延拡張を正しく実行することはできません。これも可能ですか?バッチは、遅延拡張パラメータを遅延拡張パラメータで置き換えます。
set replace=!replace:!search!=!replaceVal!!
私は実行時に何が起こっているのか知っています。それはset replace=!replace:!
になる最初の完全なセットの後で停止し、それは最後の部分を実行しようとしますが、私の結果を適切に得るためにそれらをエスケープする方法はありますか?
問題は私の検索と置き換えの値は、スクリプトの実行から取得する値に基づいています。 setコマンドはブロック内にあります。 – Matthew
だから?この例は、 'search'、' replaceval'、 'replace'の値がブロック内で設定されていることを示しています。最初の 'set replace'(' replace'を始める各変数の値を示します)では、値は 'aaa'でも' jjj'でもないことに注意してください。それらはブロック内で割り当てられた値に置き換えられました。 'after'は置換後、まだ' aaa'や 'jjj'が見えず、' xxxbbbyyybbbhhh'ブロック内に割り当てられた値は、 'bbb'ブロック内で割り当てられた文字列に代入されたreplacevalブロック「kkk」内にある。 – Magoo