如何在dos批处理脚本中将变量值写入文本文件?
(Y,JJJ,SERL和SERIAL是批处理文件中的变量)
我尝试了以下内容:
set SERIAL=%Y%+%JJJ%+%SERL%
%SERIAL% > VAR_1.TXT
%T% > VAR_2.TXT
%A% > VAR_3.TXT
%SERL% > VAR_4.TXT
创建文件VAR _!。txt,VAR_2.txt,VAR_3.txt,VAR_4.txt,但它们为空(0字节)。
我知道这有一个简单的解决方案,但是自从我使用批处理文件已经20多年了(非常生锈!)
谢谢!
答案 0 :(得分:4)
此方法允许长文件名,并且还会阻止尾随空格包含在文件中(空格是为了阻止其他问题,但最好使用此方法)。
(
字符是避免echo
中的其他错误的好方法。
>"VAR_1.TXT" echo(%SERIAL%
>"VAR_2.TXT" echo(%T%
>"VAR_3.TXT" echo(%A%
>"VAR_4.TXT" echo(%SERL%
答案 1 :(得分:2)
尝试使用echo
获取价值?
echo %SERIAL% > VAR_1.TXT
echo %T% > VAR_2.TXT
echo %A% > VAR_3.TXT
echo %SERL% > VAR_4.TXT
答案 2 :(得分:0)
请注意,如果在SETLOCAL ENDLOCAL块中使用,则可以从全局上下文隐藏变量。
此外,如果您想要附加以创建新文件,您可以使用>>
SETLOCAL
CALL SET B="fiiLOCAL"
echo %A% > VAR_1.TXT
SET A="fooGLOB2"
echo %B% >> VAR_1.TXT
ENDLOCAL
TYPE var_1.txt