Code: Select all
@echo off
set $lf=^
:: two line
set ^"$n1c=^^^%$lf%%$lf%^%$lf%%$lf%^^"
:: Delim_, alphanumeric, splits on default delimiters
:: support : NADelayed, byVal, byRef, XP FOR /F: 'Kan bestand Ãüé??ú®?? niet vinden.' bug
:: (
%= =% set ^"Delim_=setLocal disableDelayedExpansion^&for %%^! in (1,2) do if %%^!==2 setlocal enableDelayedExpansion^&(%$n1c%
%= =%set ^"$=!$:^"=""!^"%$n1c%
%= =%set "$=!$:^=^^^^!"%= replace directly =%%$n1c%
%= =%call set "$=%%^$:^!=#"#"^!%%" !%$n1c%
%= =%set "$=!$:#"#"=^^^!"^&set ^"$=!$:""=^"!^"%$n1c%
%= =%set "?="^&for %%? in (!$!) do set "?=!?!¦%%?"%$n1c%
%= =%)^&for /f "delims=" %%^! in ("!$!") do for /f "tokens=1-26 delims=¦" %%a in ("!?!") do endlocal^&endlocal^&set "$p=%%!"^&set "$="^&"
:: )
set "$var=This ^Works !"
setlocal enableDelayedExpansion
:: (
%= =% set ^"@macro_=!Delim_! ( %$n1c%
%= =% setlocal enableDelayedExpansion %$n1c%
%= =% echo. %$n1c%
%= =% echo. Delim_: %$n1c%
%= =% echo. a=%%~a=^^^!%%a^^^!_ %$n1c%
%= =% echo. a=%%~a=^^^!%%~a^^^!_ This line is buggy %$n1c%
%= =% echo. b=%%~b=^^^!%%~b^^^!_ weird is normal %$n1c%
%= =% endlocal %$n1c%
%= =% ) else set $="
::
( %@macro_% $var, $var )
:: )
endlocal
pause
exit
Code: Select all
Delim_:
a=$var=This ^Works !_
a=$var=_ This line is buggy
b=$var=This ^Works !_ weird is normal
Druk op een toets om door te gaan. . .