Batch file 批处理文件:echo'|';性格

Batch file 批处理文件:echo'|';性格,batch-file,Batch File,我怎样做: echo [-help | -h]: displays help 当我这样做的时候,我得到: 该命令的语法不正确 这是有效的,但是 echo "[-help | -h]: displays help" 它还打印引号,我不希望这样。这个[-help |-h]的意思是-help或者-h。请尝试再次运行该命令,将-h作为唯一参数。[-help |-h]表示-help或-h。请尝试再次运行该命令,将-h作为唯一参数。使用此选项 echo [-help ^| -h]: displays h

我怎样做:

echo [-help | -h]: displays help
当我这样做的时候,我得到:

该命令的语法不正确

这是有效的,但是

echo "[-help | -h]: displays help"

它还打印引号,我不希望这样。

这个
[-help |-h]
的意思是
-help
或者
-h
。请尝试再次运行该命令,将
-h
作为唯一参数。

[-help |-h]
表示
-help
-h
。请尝试再次运行该命令,将
-h
作为唯一参数。

使用此选项

echo [-help ^| -h]: displays help
^
会从管道中逸出。

使用此选项

echo [-help ^| -h]: displays help

^
从管道中逃逸。

有多种方法:

  • 用插入符号转义
    可以使用插入符号转义任何字符(但不能转义百分比)

    Echo[-help^α-?]

  • 使用延迟扩展
    由于不再解析延迟扩展的内容,因此它可以包含所有字符

    setlocal EnableDelayedExpansion 设置“helpStr=[-help |-?]” 回声!救命啊

  • 消失的引号
    引号也可以转义特殊字符,但它们也可以重复出现。
    消失引号的工作原理与普通引号类似,但在回音之前,它们将被替换为零

    3.1延迟扩展时,您可以添加!“=!在需要引号的任何位置,此表达式稍后将被替换为零。”

    setlocal EnableDelayedExpansion

    echo!”=![-help |-?]

    3.2在不延迟扩展的情况下,您可以使用FOR循环


  • 有多种方法:

  • 用插入符号转义
    可以使用插入符号转义任何字符(但不能转义百分比)

    Echo[-help^α-?]

  • 使用延迟扩展
    由于不再解析延迟扩展的内容,因此它可以包含所有字符

    setlocal EnableDelayedExpansion 设置“helpStr=[-help |-?]” 回声!救命啊

  • 消失的引号
    引号也可以转义特殊字符,但它们也可以重复出现。
    消失引号的工作原理与普通引号类似,但在回音之前,它们将被替换为零

    3.1延迟扩展时,您可以添加!“=!在需要引号的任何位置,此表达式稍后将被替换为零。”

    setlocal EnableDelayedExpansion

    echo!”=![-help |-?]

    3.2在不延迟扩展的情况下,您可以使用FOR循环


  • DOS中的转义字符是(通常)^

    因此,请尝试:

    echo [-help ^| -h]: displays help
    

    虽然有点奇怪,但也有很多例外。请参见此处:

    DOS中的转义字符是(通常)^

    因此,请尝试:

    echo [-help ^| -h]: displays help
    

    虽然有点奇怪,但也有很多例外。请参见此处:

    我要打印文本,我不想运行itAha。你不能在引号中转义整行吗?这也会在DOS中输出引号。愚蠢的DOS。我想打印文本,我不想运行itAha。你不能在引号中转义整行吗?这也会在DOS中输出引号。愚蠢的做法。在旁注中,
    ^
    转义也可用于转义
    ^
    本身。在旁注中,
    ^
    转义也可用于转义
    ^
    本身,仅在Windows CMD中使用,仅在Windows CMD中。