You are not logged in.
My question relates to:
https: // ss64.com /nt/syntax-replace.html
:: To remove characters from the right hand side of a string is
:: a two step process and requires the use of a CALL statement
:: e.g.
SET _test=The quick brown fox jumps over the lazy dog
:: To delete everything after the string 'brown'
:: first delete 'brown' and everything before it
SET _endbit=%_test:*brown=%
Echo We dont want: [%_endbit%]
::Now remove this from the original string
CALL SET _result=%%_test:%_endbit%=%%
echo %_result%
So, inside a for loop, using delayedexpansion, when _test and _endbit would be normally used as !_test! and !_endbit! - how should I use the CALL?
CALL SET _result=%%_test:%_endbit%=%%
I tried with all permutations I could imagine of changing % by !, doubling and triping the ! to no aval.
Thanks in advance!
Offline
If you've got the whole thing in a loop, including the setting of %_endbit%, then you're going to run up against expansion issues again (in the absence of your actual code I'm going to assume that's what's going on).
I think it will work if you double up the % and also the call to match.
IE:
call call set _result=%%%%_test:%%_endbit%%=%%%%
Last edited by bluesxman (28 Apr 2019 22:22)
cmd | *sh | ruby | chef
Offline