72

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

这不起作用:

Echo 2>> file.txt

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

4

11 回答 11

330

鲜为人知的功能:重定向操作员可以去线路上的任何地方。

>>file.txt echo 2
于 2011-08-29T03:36:10.170 回答
70

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

于 2011-08-29T03:00:23.930 回答
36

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

于 2011-08-29T03:01:01.250 回答
31

使用^转义:

Echo ^2>> file.txt
于 2011-08-29T03:01:15.097 回答
11
echo.2>>text.txt

是的,这很奇怪。

于 2011-08-29T03:02:35.643 回答
10

另一种方法

echo>>file.txt 2
于 2011-08-29T09:03:12.223 回答
6

或者您可以使用延迟扩展

setlocal EnableDelayedExpansion
set "var=2"
echo(!var!>> file.txt
于 2011-08-29T10:16:27.603 回答
3

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

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

DMan 的命令将在“2”后面产生一个 0x0D0A 换行符

于 2016-07-26T11:59:09.860 回答
2

要将数字写入没有尾随换行符的文件,您可以使用以下命令:

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

这是有效的,因为set /A在命令提示符上下文中执行时返回(最后一个)结果(没有换行符)(因此直接在 中运行时cmd.exe)。

如果你在命令提示符下工作,你可以简单地使用这个:

set /A "2">file.txt

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

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

于 2020-03-24T23:51:52.097 回答
-1

基于这个答案,如果有人想知道如何做到这一点:

echo "command1 && command2" > file.txt

没有 qoutesfile.txt那么你这样做:

echo command1 ^&^& command2 > file.txt

在 Windows Server 2003 上测试。

于 2013-09-20T01:21:55.113 回答
-1

逃脱角色'2'

在 Linux 中: echo \2>file.txt

在窗口中: echo ^2>file.txt

在 Windows 中,这也可以

echo.2>file.txt回声和点之间没有空格

于 2016-02-04T01:58:06.273 回答