11/10/06 01:36:09.33
> set a=%a:*]=%この場合には先がないですよね?この場合には
> *]を%aで表現できるという事でしょうか?
set a=ab]cd(ef
echo %a%
echo %a:*]=%
> set b=%b:(*=%によって%bで表現できるとことでしょうか?
*は先頭から次の文字までの一致は出来るけど
"(*"という風に後方の一致には使えない
だから一手間かかる
set a=ab]cd(ef
set b=%a:*(=%
echo %b%
call set c=%%a:%b%=%%
echo %c:~0,-1%
call set c=%%a:%a:*(=%=%% こう書けばset b要らないが
わかりにくいかと思って一旦%b%としてる
遅延展開使えばcall使わなくても出来るけど
文字列に"!"が入ってると一旦別の文字へ置換して後で戻したりとかすることになる