在Windows命令行中,我通常使用
在文件中写入空行echo; >> file
但是,我现在拥有的是一个变量
$param1%
如果我想让echo将其写入我必须要做的文件中
echo %param1% >> file
这里是问题的开始:
如果我想像我做的那样空虚
set param1=;
但是,由于;
未与回音字接触,因此命令为
echo ; >> file
在文件中写;
...
我需要变量有时包含文本,有时候什么都没有。我该怎么办?
答案 0 :(得分:1)
if "%param1%"=="" echo;>>file else echo %param1%>>file
答案 1 :(得分:1)
如果param1
变量不存在(与set "param1="
相同),那么%param1%
会导致:
.bat
脚本中:%param1%
会产生一个空字符串(长度为零的字符串); %param1%
结果为%param1%
字符串。 使用.bat
脚本(注意%param1%
周围没有空格)
>> file (echo;%param1%)
在CLI窗口中使用
>>file (if not defined param1 (echo;) else echo;%param1%)
请注意if
- else
中正确使用括号!例如,检查下一个命令的有趣结果:
if ""=="" echo;"THEN branch">>file else echo;"ELSE branch">>file
输出:
==>if ""=="" echo;"THEN branch">>file else echo;"ELSE branch">>file
==>type file
"THEN branch" else echo;"ELSE branch"