我能怎么做:
echo [-help | -h]: displays help
在我这样做的那一刻,我得到:
该命令的语法不正确。
这有效,但
echo "[-help | -h]: displays help"
它还打印引号,我不希望那样。
我能怎么做:
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 中的转义字符(通常)是 ^
所以试试:
echo [-help ^| -h]: displays help
这有点奇怪,但也有很多例外。见这里:http ://www.robvanderwoude.com/escapechars.php
[-help | -h]
表示要么-help
要么。-h
尝试再次运行该命令,并将其-h
作为唯一参数。