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

时间:2015-01-11 15:37:05

标签: variables batch-file spaces

我刚开始使用批处理文件编程并测试变量使用时间。

有谁知道2个变量调用之间的差异,即前一个%

之前的空格
@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\

未启用延迟扩展。

2 个答案:

答案 0 :(得分:3)

变量名中允许使用空格。

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

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

答案 1 :(得分:0)

所以我总结了你的答案:

如果在例程开始时没有setlocal,环境中设置的任何值都保持设置,则会发生这种情况,因此如果先前设置了“pathos1”,则其值将保留,直到被“pathos1 =”设置清除为止。声明或cmd已关闭。

所以,既然我没有关闭cmd而没有设置setlocal,我调用了之前设置的变量“pathos1 =”。 这是setlocal的好例子:)