How do I echo the number 2 into a file, from a batch script?
This doesn\'t work:
Echo 2>> file.txt
because 2&g
If you need an accurate write, use this command
(ECHO |set /p=2)>>file.txt
the command by DMan will produce a 0x0D0A line break behind the "2"
escape the haracter '2'
in linux:
echo \2>file.txt
in windows:
echo ^2>file.txt
in windows this also will work
echo.2>file.txt
no space between echo and the dot
echo.2>>text.txt
Yes, it's weird.
Use (ECHO 2)>>file.txt
. This will output 2
without any spaces.
echo ^2>>file.txt
appears to work for me.
To write a number to a file without a trailing line-break you could use the following:
cmd /C set /A "2">file.txt
This works, because set /A
returns the (last) result (without line-break) when executed in command prompt context (hence when directly run in cmd.exe
).
If you are working in command prompt anyway, you could simply use this:
set /A "2">file.txt
Though you cannot use that in a batch file, you need the extra cmd /C
to force the right execution context.
Needless to say, this can of course only output numbers, or precisely said, signed 32-bit integers.