%variable% 和 %variable % 之间的批处理文件差异或带空格的变量调用

batch file difference between %variable% and %variable % or variable call with spaces

我刚刚开始进行批处理文件编程和瞬时测试变量使用。

有谁知道这两个变量调用有什么区别,最后一个 %

之前的 space
@echo off
set pathOS1="\o1511\Pcs7ProjectO1511\OS1511\GraCS\"
ECHO We're working with %pathOS1%
ECHO We're working with %pathOS1 %

由于回声不同:

We're working with "\o1511\Pcs7ProjectO1511\OS1511\GraCS\"
We're working with \o1511\Pcs7ProjectO1511\OS1511\GraCS\

未启用延迟扩展。

变量名中允许有空格。

set "data=100"
set "data =101"
echo %data%
echo %data %
set data

您有两个具有两个相似值的变量

所以我总结了你的答案:

如果例程开始时没有 setlocal,就会发生这种情况,环境中设置的任何值都保持设置状态,因此如果之前设置了 "pathos1 ",它的值将被保留,直到它被 set 清除"pathos1 =" 语句或 cmd 已关闭。

所以,由于我没有关闭cmd,也没有设置setlocal,所以调用了之前设置的变量"pathos1 ="。 这是 setlocal 的好例子:)