我该怎么办:批处理文件:echo'|'性格
echo [-help | -h]: displays help
此刻,当我做到这一点,我得到:
该命令的语法不正确。
这工作,但
echo "[-help | -h]: displays help"
它也打印引号,我不希望出现这种情况。
我该怎么办:批处理文件:echo'|'性格
echo [-help | -h]: displays help
此刻,当我做到这一点,我得到:
该命令的语法不正确。
这工作,但
echo "[-help | -h]: displays help"
它也打印引号,我不希望出现这种情况。
使用此
echo [-help ^| -h]: displays help
的^
脱管。
有多种方式:
与插入符号
您可以用插入符号
回声[?-help^| - ]逃逸任何字符(而不是百分比)转义
使用延迟扩展
由于延迟扩展的内容不再被解析,它可以包含所有字符。
setlocal EnableDelayedExpansion set“helpStr = [-help | - ?]” echo!helpStr!
消失的引号
引号也可以转义特殊字符,但它们也会被回显。
消失的引号与普通引号类似,但在回显前它们将被替换为无。
3.1迟发扩张,你加!“=!你需要的地方报价,这个表达式将一无所有后
setlocal EnableDelayedExpansion
echo !"=![ -help | -?]
3.2取代,没有延迟扩展,你可以使用for循环
FOR %%^" in ("") do (
echo %%~"[ -help | -?]`
)
在DOS转义字符(usuall Y)^
所以尝试:
echo [-help ^| -h]: displays help
这是一个有点怪异,虽然和许多例外。看到这里:http://www.robvanderwoude.com/escapechars.php
[DOS中没有转义字符](https://en.wikipedia.org/wiki/Escape_character#Windows_Command_Prompt),仅在Windows CMD中。 [他们是完全不同的东西](https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not-a-dos-prompt/) –
相关知识,谢谢 – Caner
在附注中,'^'转义也可以用来转义'<' and '>'和'^'本身。 – adarshr
没问题,很乐意帮忙。 –