我完全被here这一行代码搞糊涂了,那漂亮的打印%PATH%
变量。这张cmd单行纸的意思是漂亮的打印%PATH%
ECHO.%PATH:;= & ECHO.%
你能打破这一个班轮起来,并解释每个部分意味着什么?
例如,
- 如何
%PATH%
分裂的分号? - 该变量
PATH
通常被称为%PATH%
。这里使用的语法是什么? ECHO.%
和:;=
是什么意思?- “对于每一行,回显出”逻辑?
我也很感谢它,如果你可以指向任何解释语法的资源。
我完全被here这一行代码搞糊涂了,那漂亮的打印%PATH%
变量。这张cmd单行纸的意思是漂亮的打印%PATH%
ECHO.%PATH:;= & ECHO.%
你能打破这一个班轮起来,并解释每个部分意味着什么?
例如,
%PATH%
分裂的分号?PATH
通常被称为%PATH%
。这里使用的语法是什么?ECHO.%
和:;=
是什么意思?我也很感谢它,如果你可以指向任何解释语法的资源。
第一检查此:https://ss64.com/nt/syntax-replace.html
分号意味着在可变的子串会replaced.First是旧的子串然后等号,则是新的。
在这种情况下,每个分号都被命令ECHO.
取代,该命令打印一个新行。 &符号用于在一行上执行更多命令。
由于没有延迟扩展,变量的扩展也会执行回显命令。
一个例子(下划线表示空间)
%PATH%
说是a;b;c
表达%PATH:;=_&_ECHO.%
替换每个;
与_&_ECHO.
(参见由@npocmaka回答)
这给出a_&_ECHO.b_&_ECHO.c
由于%PATH%
尚未开始用分号表示,我们必须在上面的表达式前加上ECHO.
,以确保打印第一个目录a
。这给
ECHO.%PATH:;=_&_ECHO.%
它扩展到ECHO.a_&_ECHO.b_&_ECHO.c
ECHO.
为什么点?
说%PATH%
是a;b;;c
如果我们使用ECHO_
我们会得到
a
b
ECHO is on.
c
如果我们使用ECHO.
我们会得到
a
b
c
ECHO.
用于获取ECHO语句以输出空白行。在 按照其设计,ECHO发布空白或只有白色 命令文本后的空间,输出当前'回声'状态,即 是ON或OFF。