I have a problem and i sort of need a solution quickly so i thought id ask it here

The problem is the following...
When i try to make a script that writes another script (both batch of course) i can't get the script to write
Pause>NUL to the other script. I need this for a TYPE auto-update script.
here is a little part of the script:
echo @echo off>>non-auto.bat
echo :main>>non-auto.bat
echo TYPE register.txt>>non-auto.bat
set 1=pause
set 2=
echo %1%%2%%3%>>non-auto.bat
echo goto main>>non-auto.bat
set update=start non-auto.bat
goto menu
sadly the result is this:
the main script will close, the other script whont start and this is what i find in the file:
@echo off
:main
TYPE register.txt
I tried things as variables to output this to the file, it doesn't work :/ not even when splitting the pause>NUL in several variables and i ran out of ideas...
anyone knows how to fix this problem?