批处理文件运行时

时间:2017-02-05 19:01:59

标签: windows file batch-file

我有一个大型批处理文件,并且我将一些命令发送到txt文件,并且我已经使用空格分隔了这些部分

echo && echo(  >> file.txt

当我运行它时,它确实创建了完美的空间,但在命令窗口中我得到了这个

ECHO is off.

如何防止这种情况出现。我在这个网站上搜索过,但无论我尝试什么似乎都不起作用。

以下是更多细节 -

@echo off
echo SetMTMode^(2^) >> file.txt
echo echo(  >> file.txt

当我运行它时,第一行被回显到txt文件中,它是稍后进一步处理的命令。第二个回声没有消隐,它显示在屏幕上,但它确实回显(复制)到txt文件。它显示 -

ECHO is off.

如何关闭该声明?

2 个答案:

答案 0 :(得分:1)

&&仅在第一个命令成功时执行第二个命令。

在这种情况下,第一个命令将始终成功,因此不需要&& - &将执行相同的操作(似乎有&&的瘟疫出现在SO)

所以 - 你正在运行两个单独的命令。第一个是echo,第二个是echo( >> file.txt

由于仅重定向第二个命令,因此其输出将显示在文件中。第一个未重定向,因此其输出将显示在控制台上。

没有参数的

echo会报告当前echo状态,这就是您所看到的。既然你没有说你想看的东西,只是你不想看到回声状态,我们猜测。

如果你想在控制台上看到什么都没有,那么省略第一个echo

如果您想查看空行,请使用标准show a blank line方法之一 - echo.echo(作为收藏。

你的第二个命令 - 好吧,再说一遍,你没有说出你真正想要的文件,但它在文件上放置了一个包含两个空格的行。

echo后面没有文字会报告echo状态。 echo(echo.后跟没有文字会提供换行符(CR LF) echo(echo.后跟空格会在换行符之前插入这些空格(CR LF)

答案 1 :(得分:0)

如果您想使用 echo 创建一个空行,只需执行以下操作:

echo. >>file.txt

点必须跟随回声而没有空格。