Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 此cmd one liner的含义相当于打印%PATH%_Batch File_Cmd - Fatal编程技术网

Batch file 此cmd one liner的含义相当于打印%PATH%

Batch file 此cmd one liner的含义相当于打印%PATH%,batch-file,cmd,Batch File,Cmd,我完全被来自的这一行程序搞糊涂了,它漂亮地打印了%PATH%变量 ECHO.%PATH:;=&回声。% 你能把这一行分开,解释一下每一部分的意思吗 比如说, %PATH%如何在分号上拆分 PATH变量通常称为%PATH%。这里使用的语法是什么 回声是什么。%和:=平均值 “对于每一行,呼出它”的逻辑在哪里 如果您能指出解释语法的任何资源,我也将不胜感激。首先检查以下内容: 分号表示变量中的子字符串将被替换。首先是旧的子字符串,然后是等号,然后是新的子字符串 在这种情况下,每个分号都将替换为命

我完全被来自的这一行程序搞糊涂了,它漂亮地打印了
%PATH%
变量

ECHO.%PATH:;=&回声。%

你能把这一行分开,解释一下每一部分的意思吗

比如说,

  • %PATH%
    如何在分号上拆分
  • PATH
    变量通常称为
    %PATH%
    。这里使用的语法是什么
  • 回声是什么。%
    :=平均值
  • “对于每一行,呼出它”的逻辑在哪里
如果您能指出解释语法的任何资源,我也将不胜感激。

首先检查以下内容:

分号表示变量中的子字符串将被替换。首先是旧的子字符串,然后是等号,然后是新的子字符串

在这种情况下,每个分号都将替换为命令
ECHO.
,该命令将打印新行。 符号用于在单行上执行更多命令

由于没有延迟扩展,变量的扩展也将执行echo命令。

示例(下划线表示空格)

%PATH%
a;Bc

表达式
%PATH:=_&_ECHO.%
替换每个
带有
(参见@npocmaka的答案)

这就产生了
a&\u ECHO.b&\u ECHO.c

由于
%PATH%
不是以分号开头,我们必须在上述表达式前面加上
ECHO.
,以确保打印第一个目录
a
。这给

ECHO.%PATH:=_&_回声。%

它扩展为
ECHO.a&\u ECHO.b&\u ECHO.c


回音。
为什么是圆点?

%PATH%
a;Bc

如果我们使用
ECHO\uu
我们将得到

a
b
ECHO is on.
c
a
b

c
如果我们使用
ECHO.
我们将得到

a
b
ECHO is on.
c
a
b

c

ECHO。
用于获取ECHO语句以输出空行。在里面 按照它的设计,回声发出的是空白的,或者只是白色的 命令文本后的空格,输出当前的“echo”状态,即 是开还是关