如何从批处理脚本向文件回显“2”(无引号)?

时间:2011-08-29 02:53:40

标签: windows batch-file

如何从批处理脚本中将数字 2 回显到文件中?

这不起作用:

Echo 2>> file.txt

因为2>>是一个特殊命令。 :(

11 个答案:

答案 0 :(得分:309)

鲜为人知的特征:重定向操作符可以在线路上的任何位置。

>>file.txt echo 2

答案 1 :(得分:62)

使用(ECHO 2)>>file.txt。这将输出2,没有任何空格。

答案 2 :(得分:34)

echo ^2>>file.txt似乎对我有用。

答案 3 :(得分:27)

使用^转义符:

Echo ^2>> file.txt

答案 4 :(得分:10)

echo.2>>text.txt

是的,这很奇怪。

答案 5 :(得分:8)

另一种方法

echo>>file.txt 2

答案 6 :(得分:4)

或者您可以使用延迟扩展

setlocal EnableDelayedExpansion
set "var=2"
echo(!var!>> file.txt

答案 7 :(得分:3)

如果您需要准确的写入,请使用此命令

(ECHO |set /p=2)>>file.txt

DMan的命令将在“2”

后面产生0x0D0A换行符

答案 8 :(得分:2)

要将数字写到文件中而没有结尾的换行符,可以使用以下命令:

cmd /C set /A "2">file.txt

之所以可行,是因为set /A在命令提示符上下文中执行(因此直接在cmd.exe中运行时)会返回(最后)结果(没有换行符)。

如果您仍在命令提示符下工作,则可以简单地使用以下命令:

set /A "2">file.txt

尽管您不能在批处理文件中使用它,但是您需要额外的cmd /C来强制执行正确的执行上下文。

不用说,这当然只能输出数字,或者确切地说是带符号的32位整数。

答案 9 :(得分:0)

根据this回答,如果有人想知道如何执行此操作:

echo "command1 && command2" > file.txt

file.txt中没有qoutes然后你这样做:

echo command1 ^&^& command2 > file.txt

在Windows Server 2003上测试。

答案 10 :(得分:-1)

逃避角色'2'

在Linux中

echo \2>file.txt

在Windows中

echo ^2>file.txt

在Windows中

也可以使用

echo.2>file.txt回音与点之间没有空格