如何在批处理SET语句中让每个变量单独占一行?
解决批处理邮件正文每行显示一个变量的问题
你之前用逗号拼接变量的方式会让所有内容挤在一行,要实现每行一个变量,需要在拼接时插入换行符,批处理里有两种常用方式:
方式一:直接用转义符插入换行
在set语句中,使用^(转义符)后跟实际换行来分隔每个变量,注意^后面不能有空格,直接按回车换行:
set "datastr=%num_cde%^ %id_achat%^ %modele%^ %sysfam%^ %serial%^ %ldt%" SET "EmailBody=%datastr%"
方式二:定义换行变量(适合多次复用)
先通过延迟扩展定义换行变量,再用它来拼接内容:
setlocal enabledelayedexpansion :: 定义换行变量,^后必须紧跟一个换行,然后空一行闭合 ( set "newline=^ " ) set "datastr=%num_cde%!newline!%id_achat%!newline!%modele%!newline!%sysfam%!newline!%serial%!newline!%ldt%" SET "EmailBody=%datastr%" endlocal
两种方法都能让每个变量在邮件正文中单独占一行,你可以根据需求选择。
内容的提问来源于stack exchange,提问作者calade
相关产品推荐
相关产品推荐

