Problem mit batch programm

Hallo ich habe ein Problem mit meinem Batch Programm. sobald ich versuche etwas auszuwählen und dann enter drücke verschwindet das Programm! ich kann keinen Fehler entdecken und das ist mein erster versuch selbst mal ein NÜTZLICHES Programm zu basteln. wenn ihr sonst noch Fehler findet dann wäre ich dankbar für eine Mitteilung. bitte beachtet ein doppelpunkt wird hier als

dargestellt und ich habe zwischen z.b doppelpunkt und start keine lehrzeile

hier der Code:

title PC-FREUND 1.0 by AnTiViRuS
@echo off

start

cls
echo was möchtest du? tippe eine nummer ein…
echo …
echo 1 Programm verlassen
echo 2 Rechner herunterfahren
echo 3 Temporäre Internetdateien löschen
echo 4 net send
echo 5 ping
set /p wahl=
if wahl=1 goto :3
if wahl=2 goto :2
if wahl=3 goto :1
if wahl=4 goto :4
if wahl=5 goto :5
cls
echo falsche eingabe
pause
goto :start
cls

1

cls
echo Temporäre Internet dateien werden gelöscht…
deltree /y C:\WINDOWS\LOCALS~1\TEMPOR~1>NUL
echo fertig!!
pause
goto :start

2

cls
echo PC HERUNTERFAHREN
echo .
echo wann möchten sie den pc herunterfahren (in sek.)
set /p st=
cls
start shutdown -s -t %st%
cls
echo abbrechen des Shutdowns wie folgt - - start - - Ausführen - - cmd - -
echo shutdown -a
pause
cls
goto :start

3

echo sie verlassen nun PC-FREUND 1.0
pause
exit

4

echo Du befindest dich jetzt im menuepunkt --net send–
pause
cls
echo an welche ip willst du eine nachricht senden?
set /p ip=
cls
echo und welche nachricht willst du senden?
set /p na=
cls
echo die nachricht wird versandt…
net send %ip% %na%
pause
cls
goto :start

5

cls
echo welche IP möchtest du anpingen?
set /p ipp=
cls
ping %ipp%
pause
cls
goto :start

Na ja, die seltsame Vertauschung von 1 und 3 (Eingabe von 1 springt zu Label 3 und umgekehrt) würde ich dringend abstellen, das ist aber eher Kosmetik.
Was definitiv falsch ist, ist deine If-Abfrage. Wenn du eine Environment-Variable abfragen willst, musst du „%wahl%“ schreiben, sonst bleibt der text „wahl“ stehen und der ist nie gleich 1, 2, …

Damit humpelte es bei mir immerhin. Falls bei dir nicht: Welche Windows-Version und welchen Kommando-Prozessor verwendest du denn? Sinnvoll ist es, eine „Eingabeaufforderung“ zu starten und dort den Batch manuell zu starten (im Unterschied zum Doppelklick in einem Explorer-Fenster), damit man Fehler noch lesen kann, bevor das Fenster wieder weg ist