The escape (^) idea suggested by BC provides no output:
Yes it does. In the script you posted, which, for posterity:
@echo off
setlocal enabledelayedexpansion
set /p yorn=Would you like to setup the server name etc.(y/n)?
if /i %yorn%==y (
set /p in=Maximum clients:
echo maxclients !in! > bla.cfg
set /p in2=Bot limit:
echo serverbotlimit !in2! >> bla.cfg
echo 1 publicserver 0 >> bla.cfg
echo 2 publicserver ^0>>bla.cf
set /p in3=Server title:
echo serverdesc "!in3!" >> bla.cfg
echo Type bla.cfg
type bla.cfg
) else (
echo said no.
)
you'll note, after looking very carefully, that, completely by mistake, (I'm sure) the exact line used to "test" the escape method just happens to misspell the output filename as bla.cf.
Additionally, note how thereafter this "bla.cf" filename is not referenced. you do type out the contents of bla.cfg which, not surprisingly, doesn't contain the output that was redirected to bla.cf.
however, if you were to look in bla.cf, it would contain:
2 publicserver 0
without a space after the 0, just as the OP is asking for.