Problem bei umleitung von SET in Datei

Amun69

Grünschnabel
Hallo zusammen,
Hab mir schon einen Wolf gesucht aber leider noch nix gefunden.
Ich hab ein kleines Problem mit der Umleitung einer Variable.
Code:
ECHO.Geben Sie eine Zahl an (1,2,3,4)
SET /P NUMMER=
ECHO.SET NR=%NUMMER%>NUMMER.BAT
Ich Tippe 1
Die Zeile die an die Datei übergeben werden soll sieht jetzt wie folgt aus
Code:
SET NR= 1
Die Zeile die in der Datei steht dann so:
Code:
SET NR=
Jemand eine Idee wo das Leerzeichen vor der 1 herkommt und warum dann die 1 nicht in der Datei steht?
Was noch dazu kommt ist das das mit 2 schon wieder anders aussieht.
Da wird dann überhaupt nix mehr in Datei geschrieben sondern sofotr ausgegeben?

Besten dank schon mal im Voraus
 
Ich weiß jetzt auch grad nicht was da los ist. Aber anscheinend hat CMD ein Problem mit einstelligen Zahlen als Variablen Definition, sobald man nämlich für %NUMMER% 10,22,hallo,... nimmt gehts ohne Probleme. Aber versuchs mal so:
Code:
@echo off
:start
cls
set /P nummer="Geben sie eine Zahl an (1,2,3,4) "
if %nummer% gtr 4 goto error
echo "%nummer%">nummer.bat
pause>nul
exit

:error
echo.
echo Die Angegebene Zahl ist zu gross
echo Bitte eine Zahl zwischen 1 und 4 angeben.
pause
goto start

Der einzige Unterschied ist, dass jetzt in der datei "1" steht und nicht 1. Kommt darauf an wie du weiter arbeiten willst.

mfg
 
Den Wert in Anführungszeichen zu setzen hab ich mir auch schon überlegt
allerdings brauche ich %NUMMER% unter anderem als Teil eines Registy-schlüssels:

"WERT"="TEXT%NUMMER%TEXT">>datei.reg

bzw zum erstellen verschiedener Zeichenketten.
Hier würden die "" stören.
ich hab nicht die geringste Ahnung wie ich die später im Code wieder rausbringen soll.
 
Na gut wennst das so weiter verwendest kanns ja teoretisch auch so vorgehen:
Code:
"WERT"="TEXT%NUMMER:~1,1%TEXT">>datei.reg

Angenommen %NUMMER%="1" kommt da dann:"WERT"="TEXT1TEXT">>datei.reg
Wie gesagt teoretisch ^^

mfg
 
Zurück