echo /? display this help text
这个特殊的字符组合被视为“ECHO /?”命令:
C:\Batch>ECHO /? display this help text
Displays messages, or turns command-echoing on or off.
ECHO [ON | OFF]
ECHO [message]
Type ECHO without parameters to display the current echo setting.
它不响应插入符号(^)逃逸,即。我试过^ /? / ^?和^ / ^?。
注意:作为一种解决方法,我发现在其间插入其他字符足以绕过ECHO命令行处理器,例如:
echo ... /? display this help text
尽管如此,这还不理想,我想知道是否有办法实现所需的输出,即使用/?在回显消息的开头。
答案 0 :(得分:6)
对于转义回声参数,存在许多变体,例如echo.
,echo:
,echo=
但只有echo(
似乎对任何附加文本都是安全的。
如果文件存在,例如echo
,echo[
,echo]
或echo+
echo.
echo[
echo]
echo+
如果当前目录中的文件名为my.bat
,则会失败echo\..\my.bat
echo:\..\my.bat
echo.\..\my.bat
这些文件无法独立于文件
echo/?
echo,/?
echo;/?
只有echo(
似乎始终对任何内容安全
答案 1 :(得分:5)
对于转义echo参数,您可以使用备用语法echo.
:
echo./?