我注意到 cmd 似乎在命令末尾接受一些字符。例如以下所有功能正确:
cls.
cls;
cls(
cls\
cls+
cls=
cls\"whatever"
cls\$
cls\#
而这些不会:
cls'
cls$
cls)
cls-
cls#
cls\/
有人知道为什么会这样吗?
提前致谢。
我注意到 cmd 似乎在命令末尾接受一些字符。例如以下所有功能正确:
cls.
cls;
cls(
cls\
cls+
cls=
cls\"whatever"
cls\$
cls\#
而这些不会:
cls'
cls$
cls)
cls-
cls#
cls\/
有人知道为什么会这样吗?
提前致谢。
这取决于批处理解析器。
;,=
是通用的批处理分隔符,因此您可以将它们附加/附加到大多数命令中而没有效果。
;,,= ,=; echo hello
;,cls,;,,
.
点可以附加到大多数命令中,因为解析器将尝试查找名为 (without extension) 的文件,cls
当cls.exe
cls.bat
没有找到时,它会使用内部命令。
左括号也是解析器删除而不会出错的特殊字符。
\
反斜杠用作路径分隔符,因此有时它可以工作,但有时您甚至可以更改命令。
cls\..\..\..\windows\system32\calc.exe