Answers:
这是我从未见过的有趣的解决方案。让我尝试解释一下:
echo %path%
。这会将所有目录打印在用分号(;
)分隔的一行上%path:a=b%
将所有a
字符替换为b
echo.
用于打印换行符&
用于分隔命令,例如echo line1&echo line2
将打印两行;
什么都代替,然后打印换行符”。我找不到任何文档,所以这只是我的解释。坦白说,我什至不知道那是可能的,但是你去了。更新我对此步骤的解释似乎不正确,而wizzwizz4可以更好地解释。echo path
吗?%%用于变量?
set greeting=Hello
然后echo %greeting%
。令人困惑的是,PATH
碰巧同时是命令和变量,因此键入command path
或echo %path%
将具有相同的结果。
$PATH
。
echo.
不是“打印换行符的命令”。这是Microsoft用于Windows NT 的命令解释器cmd
;并且echo.
只是打印路径元素的命令,确保路径元素为空不会切换到的其他功能echo
。第一个echo
确实应该echo.
也是。
这是使用命令行变量替换。%path:;=&echo.%
表示“ %path%
,但将所有替换;
为&echo.
”。这意味着,使用set path=C:\Windows\System32;C:\Windows\;;C:\Python37;
:
echo %path:;=&echo.%
变成:
echo C:\Windows\System32&echo.C:\Windows\&echo.&echo.C:\Python37&echo.
由于&
是命令分隔符,因此等效于:
echo C:\Windows\System32
echo.C:\Windows\
echo.
echo.C:\Python37
echo.
由于DOS Batch的怪异之处,除之后没有任何内容外echo.
,echo
其余均与之相同。如果是这样,它只会打印任何内容,而不会告诉您ECHO
是打开还是关闭。这将使输出:
C:\Users\wizzwizz4> echo %path:;&echo.%
C:\Windows\System32
C:\Windows\
C:\Python37
C:\Users\wizzwizz4>
确实,应该echo.%path:;=&echo.%
考虑以%PATH%
开头的情况;
,但是无论如何,此命令都非常巧妙。
进入详细的detalias时,实际上 echo(
应该使用代替echo.
。这是因为echo.
当您拥有一个名为的文件时可能会遇到问题echo
,并且速度较慢,因为它每次运行时都必须检查磁盘(%CD%
而且我也想检查所有磁盘%PATH%
)。(我没有Windows的拷贝,所以我不能检查它自己,它只是%CD%
或任何地方%PATH%
的存在echo
文件会影响echo.
,并且它有什么作用?)
echo)
,但是我真的不记得了。;-(
echo.
是人们多年前最常使用的一种。这是很多书中的一本。效率不是问题。各种文件碰巧存在时的古怪行为。当我为cmd
OS / 2中的16位代码编写32位替换代码时,在这些标点符号处中断命令名称以及这种高度不规则的解析行为是我故意不重复的事情之一,我将其放在文档中差异列表。我echodot
改用外部命令,可以echo.
根据需要使用别名。
echo(
是唯一安全的版本。
echo.
可能不起作用。