0

どのようにできるのか:

echo [-help | -h]: displays help

私がそれをする瞬間に私は得る:

コマンドの構文が正しくありません。

これは機能しますが

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

引用符も印刷されますが、私はそれを望んでいません。

4

4 に答える 4

4

これを使って

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

^パイプを脱出します。

于 2012-06-13T14:26:43.937 に答える
1

複数の方法があります。

  1. キャレットによるエスケープ キャレット
    を使用して任意の文字 (パーセントを除く) をエスケープできます

    エコー [-help ^¦ -?]

  2. 遅延展開の使用 遅延展開
    の内容はもはや解析されないため、すべての文字を含めることができます。

    setlocal EnableDelayedExpansion set "helpStr=[ -help | -?]" echo !helpStr!

  3. 消える引用符
    引用符も特殊文字をエスケープできますが、エコーもされます。
    消える引用符は通常の引用符と同じように機能しますが、エコーする前に何も置き換えられません。

    3.1 遅延展開では、引用符が必要な場所に !"=! を追加します。この式は後で何も置き換えられません。

    setlocal EnableDelayedExpansion
    echo !"=![ -help | -?]

    3.2 遅延拡張なしで FOR ループを使用できます

FOR %%^" in ("") do (
    echo %%~"[ -help | -?]`
 )
于 2012-06-13T14:28:21.680 に答える
1

DOS のエスケープ文字は (通常) ^

だから試してください:

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

それは少し奇妙ですが、多くの例外があります。こちらをご覧ください: http://www.robvanderwoude.com/escapechars.php

于 2012-06-13T14:28:33.453 に答える
0

またはの[-help | -h]いずれ-helpかを意味します-h-h唯一の引数としてコマンドを再実行してみてください。

于 2012-06-13T14:23:08.670 に答える