如何从批处理脚本中将数字2输出到文件中?
这种方法并不可行:
Echo 2>> file.txt
因为2>>
是一个特殊命令。 :(
如何从批处理脚本中将数字2输出到文件中?
这种方法并不可行:
Echo 2>> file.txt
因为2>>
是一个特殊命令。 :(
鲜为人知的特性:重定向操作符可以放在该行的任何位置。
>>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
会失败。 - jebecho.
(没有扩展名)的文件,则echo.
可能会失败,因此最好使用echo/
... - aschipfl另一种方法
echo>>file.txt 2
或者您可以使用延迟扩展。
setlocal EnableDelayedExpansion
set "var=2"
echo(!var!>> file.txt
如果您需要准确的写入,请使用此命令
(ECHO |set /p=2)>>file.txt
(echo | set /p dummyName="2") > file.txt
的语句。 (来源) - headinabook< nul set /P ="2" > file.txt
,但是这样 ErrorLevel
就会变成 1
,即使使用一个虚拟变量也是如此... - aschipfl(call )
!) - ScriptKiddcmd /C set /A "2">file.txt
这个方法有效是因为在命令提示符环境下执行set /A
命令时,它会返回(最后的)结果(不带换行符)。所以当你直接在cmd.exe
中运行时,就可以使用这种方法。
如果你已经在命令提示符下工作,可以简单地使用以下命令:
set /A "2">file.txt
虽然你不能在批处理文件中使用它,但你需要额外使用cmd /C
来强制正确的执行上下文。
不用说,这当然只能输出数字,或者准确地说,带符号的32位整数。
转义字符 '2'
在Linux中:
echo \2>file.txt
在Windows中:
echo ^2>file.txt
在Windows中这个也可以工作
echo.2>file.txt
echo和点之间没有空格