加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – @echo off cmd

发布时间:2020-12-14 04:05:24 所属栏目:Windows 来源:网络整理
导读:我正在尝试编写BAT脚本,我有以下内容: @echo offREM Comments hereSETLOCAL ENABLEDELAYEDEXPANSIONset PROG_ROOT=C:Progset ONE=1echo 1 %PROG_ROOTtest.txtecho %ONE% %PROG_ROOTtest.txtfor /f "tokens=*" %%f in (folders.txt) do ( echo %%f %PROG_
我正在尝试编写BAT脚本,我有以下内容:
@echo off
REM Comments here
SETLOCAL ENABLEDELAYEDEXPANSION
set PROG_ROOT=C:Prog
set ONE=1

echo 1>> %PROG_ROOTtest.txt
echo %ONE%>> %PROG_ROOTtest.txt

for /f "tokens=*" %%f in (folders.txt) do (
    echo %%f>> %PROG_ROOTtest.txt
)

ENDLOCAL

我的folders.txt包含数字“5”.

我的test.txt输出是

ECHO is off
ECHO is off
5

我不明白为什么前两行输出“ECHO关闭”,而第三行打印正确.如何打印正确的输出?

ETA:我试过了

echo 1>> %PROG_ROOTtest.txt
echo %ONE% >> %PROG_ROOTtest.txt

我能打印出来

ECHO is off
1

但是,我不需要在数字后打印尾随空格.

1 GT; (更一般地,对于任何数字n,n>)被解释为重定向,因此回声1>>似乎cmd为没有参数的回声.没有参数的echo将打印当前的echo状态(这里,ECHO关闭).

要修复,请使用^字符转义整数:

echo ^1>> %PROG_ROOTtest.txt

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读