【发布时间】:2011-11-05 17:45:21
【问题描述】:
如何将数字 2 从批处理脚本回显到文件中?
这不起作用:
Echo 2>> file.txt
因为2>> 是一个特殊的命令。 :(
【问题讨论】:
标签: windows batch-file cmd echo io-redirection
如何将数字 2 从批处理脚本回显到文件中?
这不起作用:
Echo 2>> file.txt
因为2>> 是一个特殊的命令。 :(
【问题讨论】:
标签: windows batch-file cmd echo io-redirection
鲜为人知的功能:重定向操作符可以去任何地方。
>>file.txt echo 2
【讨论】:
使用(ECHO 2)>>file.txt。这将输出2,不带任何空格。
【讨论】:
echo ^2>>file.txt 似乎对我有用。
【讨论】:
使用^ 转义:
Echo ^2>> file.txt
【讨论】:
echo.2>>text.txt
是的,这很奇怪。
【讨论】:
,;=( 的情况下才有效。这个echo.hello(you2>>text.txt 失败了
echo. 如果当前目录中有一个名为echo.(无扩展名)的文件可能会失败,所以最好使用echo/...
另一种方法
echo>>file.txt 2
【讨论】:
或者你可以使用延迟扩展
setlocal EnableDelayedExpansion
set "var=2"
echo(!var!>> file.txt
【讨论】:
如果您需要准确的写入,请使用此命令
(ECHO |set /p=2)>>file.txt
DMan 的命令会在“2”后面产生一个 0x0D0A 换行
【讨论】:
(echo | set /p dummyName="2") > file.txt (source) 的内容。
< nul set /P ="2" > file.txt,但随后ErrorLevel 变为1,即使使用虚拟变量...
(call )!
要将数字写入文件而不使用尾随换行符,您可以使用以下命令:
cmd /C set /A "2">file.txt
这是可行的,因为set /A 在命令提示符上下文中执行时返回(最后一个)结果(没有换行符)(因此直接在cmd.exe 中运行时)。
如果你在命令提示符下工作,你可以简单地使用这个:
set /A "2">file.txt
虽然您不能在批处理文件中使用它,但您需要额外的 cmd /C 来强制执行正确的上下文。
不用说,这当然只能输出数字,或者准确地说,是有符号的 32 位整数。
【讨论】:
根据this 的回答,如果有人想知道如何做到这一点:
echo "command1 && command2" > file.txt
如果file.txt 中没有 qoutes,那么你可以这样做:
echo command1 ^&^& command2 > file.txt
在 Windows Server 2003 上测试。
【讨论】:
转义字符'2'
在 Linux 中:
echo \2>file.txt
在窗口中:
echo ^2>file.txt
在windows中也可以使用
echo.2>file.txt echo 和点之间没有空格
【讨论】: