我正在编写一个批处理文件,该文件收集一些环境数据并使用它来构建另一个批处理文件。 我在使用echo命令传递包含set / P命令的行时遇到问题。
我的代码:
echo smthnsmthn >> batch.bat
echo set /P var=<file.txt >> batch.bat
echo smthnsmthn >> batch.bat
问题是输出batch.bat文件中缺少包含set / P命令的行。
我试图用
替换set命令echo for /f "delims=" %%%x in (file.txt) do set "var=%%%x" >> batch.bat
但结果是一样的。
感谢您的帮助。
答案 0 :(得分:1)
( echo smthnsmthn
echo set /P var=^<file.txt
echo smthnsmthn
) > batch.bat
您需要转义<
,因此它不会被视为生成批次中的输入重定向,而是正常字符