Windows 如何从变量在文件中写入空行?

Windows 如何从变量在文件中写入空行?,windows,command-line,Windows,Command Line,在Windows命令行中,我通常将空行写入带有 echo; >> file 然而,我现在拥有的是一个变量 $param1% 如果我想把它写在文件里,我必须这样做 echo %param1% >> file 问题从这里开始: 如果我想要一个空的,我会做的 set param1=; 然而自从未与命令所在的回显字接触 echo ; >> file 写在文件中 我需要变量有时包含文本,有时不包含任何内容。我怎么做?如果“%param1%”==“echo;”>

在Windows命令行中,我通常将空行写入带有

echo; >> file
然而,我现在拥有的是一个变量

$param1%
如果我想把它写在文件里,我必须这样做

echo %param1% >> file
问题从这里开始:

如果我想要一个空的,我会做的

set param1=;
然而自从<代码>未与命令所在的回显字接触

echo ; >> file
在文件中


我需要变量有时包含文本,有时不包含任何内容。我怎么做?

如果“%param1%”==“echo;”>file else echo%param1%>>file

如果
param1
变量不存在(与
设置“param1=“
相同),则
%param1%
结果为:

  • .bat
    脚本中
    %param1%
    生成一个空字符串(长度为零的字符串)
  • 在CLI窗口中
    %param1%
    将结果转换为
    %param1%
    字符串
.bat
脚本中使用(注意
%param1%
周围没有空格)

在CLI窗口中使用

注意在
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"
如果“%param1%”=echo;>>文件else回显%param1%>>文件
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"