我正在尝试编写一个 BAT 脚本,我有以下内容:
@echo off
REM Comments here
SETLOCAL ENABLEDELAYEDEXPANSION
set PROG_ROOT=C:\Prog
set ONE=1
echo 1>> %PROG_ROOT\test.txt
echo %ONE%>> %PROG_ROOT\test.txt
for /f "tokens=*" %%f in (folders.txt) do (
echo %%f>> %PROG_ROOT\test.txt
)
ENDLOCAL
我的folders.txt 包含数字“5”。
我的 test.txt 输出是
ECHO is off
ECHO is off
5
我不明白为什么输出的前两行显示“ECHO is off”,而第三行打印正确。如何打印正确的输出?
预计到达时间:我试过了
echo 1>> %PROG_ROOT\test.txt
echo %ONE% >> %PROG_ROOT\test.txt
我能够打印
ECHO is off
1
但是,我不需要打印数字后面的尾随空格。
1>
(更一般地说n>
对于任何数字n
) 被解释为重定向,因此echo 1>>
看来cmd
as an echo
没有争论。echo
不带参数将打印当前echo
状态(这里,ECHO is off
).
要修复此问题,请使用 a 对整数进行转义^
特点:
echo ^1>> %PROG_ROOT\test.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)