如何在批处理文件中使用两个echo命令回显“我有一个数字”?
echo "I have "
...
... do stuff
...
echo "1 number"
创建两行:
I have
1 number
如何抑制第一个回声的cr / lf?创建:
I have 1 number
答案 0 :(得分:0)
这似乎是这样做的:
<nul set /p=I have
echo 1 number
请注意,此示例过于简单 - 在更一般的情况下,第二部分不仅仅是回声,而是某些计算或操作的结果,例如cd:
<nul set /p=set currentdir=>a.bat
cd>>a.bat
我无法通过上面给出的PART1答案看到此功能。
答案 1 :(得分:0)
也许我错过了部分问题。将第一部分保存在变量中,然后在后面使用它。
SET "PART_1=I have "
.
... do stuff
.
ECHO %PART_1% 1 number
怎么样......
C:\Users\lit\t>ECHO SET "currentdir=%CD%" >a.bat
C:\Users\lit\t>type a.bat
SET "currentdir=C:\Users\lit\t"
多行...? ECHO命令在输出的任何内容的末尾写入换行符CRLF。您不会从第一个ECHO获取后续的ECHO命令来写入换行符。怎么样......
SET TMPFILE=%TEMP%\mytempfile.tmp
ECHO>"%TMPFILE%" I have
... do stuff
FOR /F "usebackq tokens=*" %%a IN (`TYPE "%TMPFILE%"`) DO (SET "S1=%%~a")
ECHO %S1% 1 file
IF EXIST "%TMPFILE%" (DEL "%TMPFILE%")