我是批处理编程的新手,目前在下面的批处理脚本中面临一个问题。
REM
SET Var1=10
SET Var2=20
SET Var3 = john
SET Var4 = john1
ECHO variable values
ECHO %Var1%
ECHO %Var2%
ECHO %Var3%
ECHO %Var4%
for /f "tokens=1,2 delims=\\ " %%a in ("%1") do set component=%%a&set app=%%b
pause
EXIT
问题如下所述,
语句ECHO %Var3%
,ECHO %Var4%
==>将不会产生所需的结果,即打印分配给它们的字符串值。取而代之的是印刷品ECHO ON。
不确定是什么问题。我知道这很简单,请帮忙。
答案 0 :(得分:0)
%var3%
不等于%Var3%
。那么,您的%Var3%==" john"
和%var3%==""
。当您使用空参数调用echo
时,它会打印当前回显模式(打开或关闭)。
SET Var3 = john
也不等于SET Var3=john
。第一个命令意味着创建变量" Var3" (即它的名字由5个字符组成 - 第五个是空格),其值为"约翰"' (它的值以空格开头)。尝试在脚本中添加以下行以查看它:
ECHO %Var3 %
ECHO %Var4 %
答案 1 :(得分:0)
这是一个很好的方法,当变量为空时回显空白行,或以其他方式回显变量。
ECHO(%Var1%