在下面的脚本中,我将一个量化字符串传递给子例程,并取消对它的引号(在访问参数时使用波浪号),以输出不带引号的字符串。不幸的是,我试图转义大于号(S)的尝试不起作用:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set foo="Argument -> Not provided^!"
call :output_actual_error !foo!
ENDLOCAL
EXIT /B 0
:output_actual_error
SETLOCAL DISABLEDELAYEDEXPANSION
set bar=%~1
set bar=%bar:>=^>%
echo %bar%
ENDLOCAL
EXIT /B 0
输出:
Argument - provided!
期望值:
Argument -> Not provided!
请注意,代码仅用于说明,并不代表实际实现。
那么,如何在没有double的情况下转义大于号和echo
字符串呢?
发布于 2018-06-10 06:06:57
使用
set "bar=%~1"
set "bar=%bar:>=^>%"
https://stackoverflow.com/questions/50778783
复制相似问题