Batch "goto" kann syntaktisch nicht benutzt werden oder so kann den Fehler nicht finden

Registriert
Jan. 2018
Beiträge
5
Hallo,

nun einmal das Script:

@echo off
@mode con cols=100 lines=50

set ergebnis=0
set 1=0
set 2=0
set 3=0
set 4=0
set 5=0
set 6=0
set 7=0
set 8=0
set 9=0
set 10=0
set 11=0
set 12=0
set 13=0
set 14=0
set 15=0
set 16=0
set 17=0
set 18=0
set 19=0
set 20=0
set 21=0
set 22=0
set 23=0
set 24=0
set 25=0
set 26=0
set 27=0
set 28=0
set 29=0
set 30=0
set 31=0
set 32=0
set 33=0
set 34=0
set 35=0
set 36=0
set 37=0
set 38=0
set 39=0
set 40=0
set 50=0
set 51=0
set 52=0
set 53=0
set 54=0
set 55=0
set 56=0
set 57=0
set 58=0
set 59=0
set 60=0
set 61=0
set 62=0
set 63=0
set 64=0
set 65=0
set 66=0
set 67=0
set 68=0
set 69=0
set 70=0
set 71=0
set 72=0
set 73=0
set 74=0
set 75=0
set 76=0
set 77=0
set 78=0
set 79=0
set 80=0
set 81=0
set 82=0
set 83=0
set 84=0
set 85=0
set 86=0
set 89=0
set 90=0
goto :0000





:start
set /a ran=%random%
if /i %ran% GTR 90 goto :start
if /i %ran% LSS 1 goto :start
if %1%==1 goto start
if %2%==1 goto start
if %3%==1 goto start
if %4%==1 goto start
if %5%==1 goto start
if %6%==1 goto start
if %7%==1 goto start
if %8%==1 goto start
if %9%==1 goto start
if %10%==1 goto start
if %11%==1 goto start
if %12%==1 goto start
if %13%==1 goto start
if %14%==1 goto start
if %15%==1 goto start
if %16%==1 goto start
if %17%==1 goto start
if %18%==1 goto start
if %19%==1 goto start
if %20%==1 goto start
if %21%==1 goto start
if %22%==1 goto start
if %23%==1 goto start
if %24%==1 goto start
if %25%==1 goto start
if %26%==1 goto start
if %27%==1 goto start
if %28%==1 goto start
if %29%==1 goto start
if %30%==1 goto start
if %31%==1 goto start
if %32%==1 goto start
if %33%==1 goto start
if %34%==1 goto start
if %35%==1 goto start
if %36%==1 goto start
if %37%==1 goto start
if %38%==1 goto start
if %39%==1 goto start
if %40%==1 goto start
if %41%==1 goto start
if %42%==1 goto start
if %43%==1 goto start
if %44%==1 goto start
if %45%==1 goto start
if %46%==1 goto start
if %47%==1 goto start
if %48%==1 goto start
if %49%==1 goto start
if %50%==1 goto start
if %51%==1 goto start
if %52%==1 goto start
if %53%==1 goto start
if %54%==1 goto start
if %55%==1 goto start
if %56%==1 goto start
if %57%==1 goto start
if %58%==1 goto start
if %59%==1 goto start
if %60%==1 goto start
if %70%==1 goto start
if %71%==1 goto start
if %72%==1 goto start
if %73%==1 goto start
if %74%==1 goto start
if %75%==1 goto start
if %76%==1 goto start
if %78%==1 goto start
if %79%==1 goto start
if %80%==1 goto start
if %81%==1 goto start
if %82%==1 goto start
if %83%==1 goto start
if %84%==1 goto start
if %85%==1 goto start
if %86%==1 goto start
if %87%==1 goto start
if %88%==1 goto start
if %89%==1 goto start
if %90%==1 goto start
if %ran%==1 set %ergebnis%=1 && set %1%=1 && goto ausgabe
if %ran%==2 set %ergebnis%=2 && set %2%=1 && goto ausgabe
if %ran%==3 set %ergebnis%=3 && set %3%=1 && goto ausgabe
if %ran%==4 set %ergebnis%=4 && set %4%=1 && goto ausgabe
if %ran%==5 set %ergebnis%=5 && set %5%=1 && goto ausgabe
if %ran%==6 set %ergebnis%=6 && set %6%=1 && goto ausgabe
if %ran%==7 set %ergebnis%=7 && set %7%=1 && goto ausgabe
if %ran%==8 set %ergebnis%=8 && set %8%=1 && goto ausgabe
if %ran%==9 set %ergebnis%=9 && set %9%=1 && goto ausgabe
if %ran%==10 set %ergebnis%=10 && set %10%=1 && goto ausgabe
if %ran%==11 set %ergebnis%=11 && set %11%=1 && goto ausgabe
if %ran%==12 set %ergebnis%=12 && set %12%=1 && goto ausgabe
if %ran%==13 set %ergebnis%=13 && set %13%=1 && goto ausgabe
if %ran%==11 set %ergebnis%=14 && set %14%=1 && goto ausgabe
if %ran%==15 set %ergebnis%=15 && set %15%=1 && goto ausgabe
if %ran%==16 set %ergebnis%=16 && set %16%=1 && goto ausgabe
if %ran%==17 set %ergebnis%=17 && set %17%=1 && goto ausgabe
if %ran%==18 set %ergebnis%=18 && set %18%=1 && goto ausgabe
if %ran%==19 set %ergebnis%=19 && set %19%=1 && goto ausgabe
if %ran%==20 set %ergebnis%=20 && set %20%=1 && goto ausgabe
if %ran%==21 set %ergebnis%=21 && set %21%=1 && goto ausgabe
if %ran%==22 set %ergebnis%=22 && set %22%=1 && goto ausgabe
if %ran%==23 set %ergebnis%=23 && set %23%=1 && goto ausgabe
if %ran%==24 set %ergebnis%=24 && set %24%=1 && goto ausgabe
if %ran%==25 set %ergebnis%=25 && set %25%=1 && goto ausgabe
if %ran%==26 set %ergebnis%=26 && set %26%=1 && goto ausgabe
if %ran%==27 set %ergebnis%=27 && set %27%=1 && goto ausgabe
if %ran%==28 set %ergebnis%=28 && set %28%=1 && goto ausgabe
if %ran%==29 set %ergebnis%=29 && set %29%=1 && goto ausgabe
if %ran%==30 set %ergebnis%=30 && set %30%=1 && goto ausgabe
if %ran%==31 set %ergebnis%=31 && set %31%=1 && goto ausgabe
if %ran%==32 set %ergebnis%=32 && set %32%=1 && goto ausgabe
if %ran%==33 set %ergebnis%=33 && set %33%=1 && goto ausgabe
if %ran%==34 set %ergebnis%=34 && set %34%=1 && goto ausgabe
if %ran%==35 set %ergebnis%=35 && set %35%=1 && goto ausgabe
if %ran%==36 set %ergebnis%=36 && set %36%=1 && goto ausgabe
if %ran%==37 set %ergebnis%=37 && set %37%=1 && goto ausgabe
if %ran%==38 set %ergebnis%=38 && set %38%=1 && goto ausgabe
if %ran%==39 set %ergebnis%=39 && set %39%=1 && goto ausgabe
if %ran%==40 set %ergebnis%=40 && set %40%=1 && goto ausgabe
if %ran%==41 set %ergebnis%=41 && set %41%=1 && goto ausgabe
if %ran%==42 set %ergebnis%=42 && set %42%=1 && goto ausgabe
if %ran%==43 set %ergebnis%=43 && set %43%=1 && goto ausgabe
if %ran%==44 set %ergebnis%=44 && set %44%=1 && goto ausgabe
if %ran%==45 set %ergebnis%=45 && set %45%=1 && goto ausgabe
if %ran%==46 set %ergebnis%=46 && set %46%=1 && goto ausgabe
if %ran%==47 set %ergebnis%=47 && set %47%=1 && goto ausgabe
if %ran%==48 set %ergebnis%=48 && set %48%=1 && goto ausgabe
if %ran%==49 set %ergebnis%=49 && set %49%=1 && goto ausgabe
if %ran%==50 set %ergebnis%=50 && set %50%=1 && goto ausgabe
if %ran%==51 set %ergebnis%=51 && set %51%=1 && goto ausgabe
if %ran%==52 set %ergebnis%=52 && set %52%=1 && goto ausgabe
if %ran%==53 set %ergebnis%=53 && set %53%=1 && goto ausgabe
if %ran%==54 set %ergebnis%=54 && set %54%=1 && goto ausgabe
if %ran%==55 set %ergebnis%=55 && set %55%=1 && goto ausgabe
if %ran%==56 set %ergebnis%=56 && set %56%=1 && goto ausgabe
if %ran%==57 set %ergebnis%=57 && set %57%=1 && goto ausgabe
if %ran%==58 set %ergebnis%=58 && set %58%=1 && goto ausgabe
if %ran%==59 set %ergebnis%=59 && set %59%=1 && goto ausgabe
if %ran%==60 set %ergebnis%=60 && set %60%=1 && goto ausgabe
if %ran%==61 set %ergebnis%=61 && set %61%=1 && goto ausgabe
if %ran%==62 set %ergebnis%=62 && set %62%=1 && goto ausgabe
if %ran%==63 set %ergebnis%=63 && set %63%=1 && goto ausgabe
if %ran%==64 set %ergebnis%=64 && set %64%=1 && goto ausgabe
if %ran%==65 set %ergebnis%=65 && set %65%=1 && goto ausgabe
if %ran%==66 set %ergebnis%=66 && set %66%=1 && goto ausgabe
if %ran%==67 set %ergebnis%=67 && set %67%=1 && goto ausgabe
if %ran%==68 set %ergebnis%=68 && set %68%=1 && goto ausgabe
if %ran%==69 set %ergebnis%=69 && set %69%=1 && goto ausgabe
if %ran%==70 set %ergebnis%=70 && set %70%=1 && goto ausgabe
if %ran%==71 set %ergebnis%=71 && set %71%=1 && goto ausgabe
if %ran%==72 set %ergebnis%=72 && set %72%=1 && goto ausgabe
if %ran%==73 set %ergebnis%=73 && set %73%=1 && goto ausgabe
if %ran%==74 set %ergebnis%=74 && set %74%=1 && goto ausgabe
if %ran%==75 set %ergebnis%=75 && set %75%=1 && goto ausgabe
if %ran%==76 set %ergebnis%=76 && set %76%=1 && goto ausgabe
if %ran%==77 set %ergebnis%=77 && set %77%=1 && goto ausgabe
if %ran%==78 set %ergebnis%=78 && set %78%=1 && goto ausgabe
if %ran%==79 set %ergebnis%=79 && set %79%=1 && goto ausgabe
if %ran%==80 set %ergebnis%=80 && set %80%=1 && goto ausgabe
if %ran%==81 set %ergebnis%=81 && set %81%=1 && goto ausgabe
if %ran%==82 set %ergebnis%=82 && set %82%=1 && goto ausgabe
if %ran%==83 set %ergebnis%=83 && set %83%=1 && goto ausgabe
if %ran%==84 set %ergebnis%=84 && set %84%=1 && goto ausgabe
if %ran%==85 set %ergebnis%=85 && set %85%=1 && goto ausgabe
if %ran%==86 set %ergebnis%=86 && set %86%=1 && goto ausgabe
if %ran%==87 set %ergebnis%=87 && set %87%=1 && goto ausgabe
if %ran%==88 set %ergebnis%=88 && set %88%=1 && goto ausgabe
if %ran%==89 set %ergebnis%=89 && set %89%=1 && goto ausgabe
if %ran%==90 set %ergebnis%=90 && set %90%=1 && goto ausgabe







goto start












:ausgabe

echo Die Zahl ist %ergebnis%.
pause >nul
set ergebnis=0
goto start




:0000
echo Willkommen zum Batch Bingo
echo.
echo einfach eine taste druecken und schon geht es los
pause >nul
cls
goto start


Jetzt meine Vorstellungen dazu dieses Script sollte zum Bingo spielen benutzt werden. Funktionen: 1. zeigt eine zufällige zahl von 1-90 an 2. diese Zahl fällt dann weg, weil sich der Wert der zahl auf eins geändert haben sollte und somit jedes mal wenn die Zahl kommt wieder zu start zurück gekehrt wird und nur noch zahlen kommen, welche den wert null haben.

Wenn jemand meinen/meine Fehler findet und mir Lösungsvorschläge liefern könnte were das echt Hilfreich.
bei fragen oder Unklarheiten bitte fragen

MfG

pizza_dox_9999
 
Wieso schreibst du:
Code:
 goto :start
Also, mit Doppelpunkt?
 
Es ist keine gute Idee, einen Variablennamen mit einer Ziffer zu beginnen. Die Zuweisung set 2=0 klappt zwar, aber man kann nicht mit %2% darauf zugreifen ...

Wenn du aber trotzdem daran festhalten willst, musst Du mit setlocal enableDelayedExpansion arbeiten. Dann kannst Du mit !2! auf die Variable zugreifen.

@rg88
Although undocumented, GOTO :MySubroutine generally has the same effect as GOTO MySubroutine
or GOTO:MySubroutine (a colon in place of the space)
https://ss64.com/nt/goto.html
 
Zuletzt bearbeitet: (Hinweis zu goto ergänzt)
Danke erstmal,
um es auf den Punkt zu bringen müsste ich meine variablen alle mit einem Buchstabe beginnen lassen (z.B. "a") oder ich müsste statt so %1% das ganze dann !1! so schreiben wenn setlocal enableDelayedExpansion dabei ist.
 
Zuletzt bearbeitet:
oder mit z1 für Zahl 1, besser noch z01, das wäre zumindest logischer, als einzelne Buchstaben, von denen du nur 26 hast.
 
Aber jede Variable ist doch anders weil es doch immer wieder andere Zahlen sind egal wie viele und welche buchstaben es sind zudem kann man doch einfach so schreiben 1 2 3 4 5 und so weiter ohne die null immer davor
Ergänzung ()

Hallo,

habe alles nochmal abgeändert hoffe du meintest es so

@echo off
@mode con cols=100 lines=50
setlocal enableDelayedExpansion
set ergebnis=0
set 1=0
set 2=0
set 3=0
set 4=0
set 5=0
set 6=0
set 7=0
set 8=0
set 9=0
set 10=0
set 11=0
set 12=0
set 13=0
set 14=0
set 15=0
set 16=0
set 17=0
set 18=0
set 19=0
set 20=0
set 21=0
set 22=0
set 23=0
set 24=0
set 25=0
set 26=0
set 27=0
set 28=0
set 29=0
set 30=0
set 31=0
set 32=0
set 33=0
set 34=0
set 35=0
set 36=0
set 37=0
set 38=0
set 39=0
set 40=0
set 50=0
set 51=0
set 52=0
set 53=0
set 54=0
set 55=0
set 56=0
set 57=0
set 58=0
set 59=0
set 60=0
set 61=0
set 62=0
set 63=0
set 64=0
set 65=0
set 66=0
set 67=0
set 68=0
set 69=0
set 70=0
set 71=0
set 72=0
set 73=0
set 74=0
set 75=0
set 76=0
set 77=0
set 78=0
set 79=0
set 80=0
set 81=0
set 82=0
set 83=0
set 84=0
set 85=0
set 86=0
set 89=0
set 90=0
goto :0000





:start
set /a ran=%random%
if /i %ran% GTR 90 goto start
if /i %ran% LSS 1 goto start
if !1!==1 goto start
if !2!==1 goto start
if !3!==1 goto start
if !4!==1 goto start
if !5!==1 goto start
if !6!==1 goto start
if !7!==1 goto start
if !8!==1 goto start
if !9!==1 goto start
if !10!==1 goto start
if !11!==1 goto start
if !12!==1 goto start
if !13!==1 goto start
if !14!==1 goto start
if !15!==1 goto start
if !16!==1 goto start
if !17!==1 goto start
if !18!==1 goto start
if !19!==1 goto start
if !20!==1 goto start
if !21!==1 goto start
if !22!==1 goto start
if !23!==1 goto start
if !24!==1 goto start
if !25!==1 goto start
if !26!==1 goto start
if !27!==1 goto start
if !28!==1 goto start
if !29!==1 goto start
if !30!==1 goto start
if !31!==1 goto start
if !32!==1 goto start
if !33!==1 goto start
if !34!==1 goto start
if !35!==1 goto start
if !36!==1 goto start
if !37!==1 goto start
if !38!==1 goto start
if !39!==1 goto start
if !40!==1 goto start
if !41!==1 goto start
if !42!==1 goto start
if !43!==1 goto start
if !44!==1 goto start
if !45!==1 goto start
if !46!==1 goto start
if !47!==1 goto start
if !48!==1 goto start
if !49!==1 goto start
if !50!==1 goto start
if !51!==1 goto start
if !52!==1 goto start
if !53!==1 goto start
if !54!==1 goto start
if !55!==1 goto start
if !56!==1 goto start
if !57!==1 goto start
if !58!==1 goto start
if !59!==1 goto start
if !60!==1 goto start
if !70!==1 goto start
if !71!==1 goto start
if !72!==1 goto start
if !73!==1 goto start
if !74!==1 goto start
if !75!==1 goto start
if !76!==1 goto start
if !78!==1 goto start
if !79!==1 goto start
if !80!==1 goto start
if !81!==1 goto start
if !82!==1 goto start
if !83!==1 goto start
if !84!==1 goto start
if !85!==1 goto start
if !86!==1 goto start
if !87!==1 goto start
if !88!==1 goto start
if !89!==1 goto start
if !90!==1 goto start
if %ran%==1 set %ergebnis%=1 && set !1!=1 && goto ausgabe
if %ran%==2 set %ergebnis%=2 && set !2!=1 && goto ausgabe
if %ran%==3 set %ergebnis%=3 && set !3!=1 && goto ausgabe
if %ran%==4 set %ergebnis%=4 && set !4!=1 && goto ausgabe
if %ran%==5 set %ergebnis%=5 && set !5!=1 && goto ausgabe
if %ran%==6 set %ergebnis%=6 && set !6!=1 && goto ausgabe
if %ran%==7 set %ergebnis%=7 && set !7!=1 && goto ausgabe
if %ran%==8 set %ergebnis%=8 && set !8!=1 && goto ausgabe
if %ran%==9 set %ergebnis%=9 && set !9!=1 && goto ausgabe
if %ran%==10 set %ergebnis%=10 && set !10!=1 && goto ausgabe
if %ran%==11 set %ergebnis%=11 && set !11!=1 && goto ausgabe
if %ran%==12 set %ergebnis%=12 && set !12!=1 && goto ausgabe
if %ran%==13 set %ergebnis%=13 && set !13!=1 && goto ausgabe
if %ran%==11 set %ergebnis%=14 && set !14!=1 && goto ausgabe
if %ran%==15 set %ergebnis%=15 && set !15!=1 && goto ausgabe
if %ran%==16 set %ergebnis%=16 && set !16!=1 && goto ausgabe
if %ran%==17 set %ergebnis%=17 && set !17!=1 && goto ausgabe
if %ran%==18 set %ergebnis%=18 && set !18!=1 && goto ausgabe
if %ran%==19 set %ergebnis%=19 && set !19!=1 && goto ausgabe
if %ran%==20 set %ergebnis%=20 && set !20!=1 && goto ausgabe
if %ran%==21 set %ergebnis%=21 && set !21!=1 && goto ausgabe
if %ran%==22 set %ergebnis%=22 && set !22!=1 && goto ausgabe
if %ran%==23 set %ergebnis%=23 && set !23!=1 && goto ausgabe
if %ran%==24 set %ergebnis%=24 && set !24!=1 && goto ausgabe
if %ran%==25 set %ergebnis%=25 && set !25!=1 && goto ausgabe
if %ran%==26 set %ergebnis%=26 && set !26!=1 && goto ausgabe
if %ran%==27 set %ergebnis%=27 && set !27!=1 && goto ausgabe
if %ran%==28 set %ergebnis%=28 && set !28!=1 && goto ausgabe
if %ran%==29 set %ergebnis%=29 && set !29!=1 && goto ausgabe
if %ran%==30 set %ergebnis%=30 && set !30!=1 && goto ausgabe
if %ran%==31 set %ergebnis%=31 && set !31!=1 && goto ausgabe
if %ran%==32 set %ergebnis%=32 && set !32!=1 && goto ausgabe
if %ran%==33 set %ergebnis%=33 && set !33!=1 && goto ausgabe
if %ran%==34 set %ergebnis%=34 && set !34!=1 && goto ausgabe
if %ran%==35 set %ergebnis%=35 && set !35!=1 && goto ausgabe
if %ran%==36 set %ergebnis%=36 && set !36!=1 && goto ausgabe
if %ran%==37 set %ergebnis%=37 && set !37!=1 && goto ausgabe
if %ran%==38 set %ergebnis%=38 && set !38!=1 && goto ausgabe
if %ran%==39 set %ergebnis%=39 && set !39!=1 && goto ausgabe
if %ran%==40 set %ergebnis%=40 && set !40!=1 && goto ausgabe
if %ran%==41 set %ergebnis%=41 && set !41!=1 && goto ausgabe
if %ran%==42 set %ergebnis%=42 && set !42!=1 && goto ausgabe
if %ran%==43 set %ergebnis%=43 && set !43!=1 && goto ausgabe
if %ran%==44 set %ergebnis%=44 && set !44!=1 && goto ausgabe
if %ran%==45 set %ergebnis%=45 && set !45!=1 && goto ausgabe
if %ran%==46 set %ergebnis%=46 && set !46!=1 && goto ausgabe
if %ran%==47 set %ergebnis%=47 && set !47!=1 && goto ausgabe
if %ran%==48 set %ergebnis%=48 && set !48!=1 && goto ausgabe
if %ran%==49 set %ergebnis%=49 && set !49!=1 && goto ausgabe
if %ran%==50 set %ergebnis%=50 && set !50!=1 && goto ausgabe
if %ran%==51 set %ergebnis%=51 && set !51!=1 && goto ausgabe
if %ran%==52 set %ergebnis%=52 && set !52!=1 && goto ausgabe
if %ran%==53 set %ergebnis%=53 && set !53!=1 && goto ausgabe
if %ran%==54 set %ergebnis%=54 && set !54!=1 && goto ausgabe
if %ran%==55 set %ergebnis%=55 && set !55!=1 && goto ausgabe
if %ran%==56 set %ergebnis%=56 && set !56!=1 && goto ausgabe
if %ran%==57 set %ergebnis%=57 && set !57!=1 && goto ausgabe
if %ran%==58 set %ergebnis%=58 && set !58!=1 && goto ausgabe
if %ran%==59 set %ergebnis%=59 && set !59!=1 && goto ausgabe
if %ran%==60 set %ergebnis%=60 && set !60!=1 && goto ausgabe
if %ran%==61 set %ergebnis%=61 && set !61!=1 && goto ausgabe
if %ran%==62 set %ergebnis%=62 && set !62!=1 && goto ausgabe
if %ran%==63 set %ergebnis%=63 && set !63!=1 && goto ausgabe
if %ran%==64 set %ergebnis%=64 && set !64!=1 && goto ausgabe
if %ran%==65 set %ergebnis%=65 && set !65!=1 && goto ausgabe
if %ran%==66 set %ergebnis%=66 && set !66!=1 && goto ausgabe
if %ran%==67 set %ergebnis%=67 && set !67!=1 && goto ausgabe
if %ran%==68 set %ergebnis%=68 && set !68!=1 && goto ausgabe
if %ran%==69 set %ergebnis%=69 && set !69!=1 && goto ausgabe
if %ran%==70 set %ergebnis%=70 && set !70!=1 && goto ausgabe
if %ran%==71 set %ergebnis%=71 && set !71!=1 && goto ausgabe
if %ran%==72 set %ergebnis%=72 && set !72!=1 && goto ausgabe
if %ran%==73 set %ergebnis%=73 && set !73!=1 && goto ausgabe
if %ran%==74 set %ergebnis%=74 && set !74!=1 && goto ausgabe
if %ran%==75 set %ergebnis%=75 && set !75!=1 && goto ausgabe
if %ran%==76 set %ergebnis%=76 && set !76!=1 && goto ausgabe
if %ran%==77 set %ergebnis%=77 && set !77!=1 && goto ausgabe
if %ran%==78 set %ergebnis%=78 && set !78!=1 && goto ausgabe
if %ran%==79 set %ergebnis%=79 && set !79!=1 && goto ausgabe
if %ran%==80 set %ergebnis%=80 && set !80!=1 && goto ausgabe
if %ran%==81 set %ergebnis%=81 && set !81!=1 && goto ausgabe
if %ran%==82 set %ergebnis%=82 && set !82!=1 && goto ausgabe
if %ran%==83 set %ergebnis%=83 && set !83!=1 && goto ausgabe
if %ran%==84 set %ergebnis%=84 && set !84!=1 && goto ausgabe
if %ran%==85 set %ergebnis%=85 && set !85!=1 && goto ausgabe
if %ran%==86 set %ergebnis%=86 && set !86!=1 && goto ausgabe
if %ran%==87 set %ergebnis%=87 && set !87!=1 && goto ausgabe
if %ran%==88 set %ergebnis%=88 && set !88!=1 && goto ausgabe
if %ran%==89 set %ergebnis%=89 && set !89!=1 && goto ausgabe
if %ran%==90 set %ergebnis%=90 && set !90!=1 && goto ausgabe





goto start












:ausgabe

echo Die Zahl ist %ergebnis%.
pause >nul
set ergebnis=0
goto start




:0000
echo Willkommen zum Batch Bingo
echo.
echo einfach eine taste druecken und schon geht es los
pause >nul
cls
goto start



habe dafür immer null als antwort und bekomme immer alle pa mal einen Syntax fehler
 
Zuletzt bearbeitet:
set %ergebnis%=1 und set !1!=1 ist halt verkehrt.

Hier mal eine etwas kürzere Variante, Du musst nur maxValue auf 90 setzen ...
Code:
@echo off
@mode con cols=100 lines=50
setlocal enableDelayedExpansion
set minValue=1
set maxValue=5

:: Initialisieren
:init
set /a fertig=0
for /l %%n in (%minValue%,1,%maxValue%) do ( 
  set /a wert[%%n]=0 
)

echo Willkommen zum Batch Bingo 
echo. 
echo einfach eine taste druecken und schon geht es los 
pause >nul
cls

:start
:: Zufallswert zwischen %minValue% und %maxValue% bestimmen
set /a ran=(%random%*%maxValue%/32768)+%minValue%
:: Wert bereits gezogen?
if !wert[%ran%]!==1 goto start
:: Wert uebernehmen
set ergebnis=%ran%
set /a wert[%ran%]=1

echo Die Zahl ist %ergebnis%.
pause >nul

:: Pruefen ob fertig
set /a fertig=1
for /l %%n in (%minValue%,1,%maxValue%) do (
  if !wert[%%n]!==0 (
    :: Es gibt noch mindestens einen Wert, der nicht gezogen wurde
    set /a fertig=0
  )
)

if !fertig!==0 (
  set ergebnis=0
  goto start
) else (
  Echo Die Runde ist zu Ende.
  Choice /C NA /M "(N) Neustart oder (A) Abbruch?"
  IF errorlevel 2 goto :EOF
  goto init
)
 
Vielen Dank ich werde das sicher benutzen aber könntest du nochmal konkret hier drauf antworten, weil ich jetzt noch das problem habe, dass sich die zahlen wiederholen, ich glaube als kleine niete das es an set liegt das die werte der einzelnen zahlen nicht auf eins springen, aber ich bin für neues offen mfg pizza_dox_9999:

@echo off
@mode con cols=100 lines=50
setlocal enableDelayedExpansion
set ergebnis=0
set 1=0
set 2=0
set 3=0
set 4=0
set 5=0
set 6=0
set 7=0
set 8=0
set 9=0
set 10=0
set 11=0
set 12=0
set 13=0
set 14=0
set 15=0
set 16=0
set 17=0
set 18=0
set 19=0
set 20=0
set 21=0
set 22=0
set 23=0
set 24=0
set 25=0
set 26=0
set 27=0
set 28=0
set 29=0
set 30=0
set 31=0
set 32=0
set 33=0
set 34=0
set 35=0
set 36=0
set 37=0
set 38=0
set 39=0
set 40=0
set 41=0
set 42=0
set 43=0
set 44=0
set 45=0
set 46=0
set 47=0
set 48=0
set 49=0
set 50=0
set 51=0
set 52=0
set 53=0
set 54=0
set 55=0
set 56=0
set 57=0
set 58=0
set 59=0
set 60=0
set 61=0
set 62=0
set 63=0
set 64=0
set 65=0
set 66=0
set 67=0
set 68=0
set 69=0
set 70=0
set 71=0
set 72=0
set 73=0
set 74=0
set 75=0
set 76=0
set 77=0
set 78=0
set 79=0
set 80=0
set 81=0
set 82=0
set 83=0
set 84=0
set 85=0
set 86=0
set 87=0
set 88=0
set 89=0
set 90=0

goto :0000





:start



set /a ran=%random%
if /i %ran% GTR 90 goto start
if /i %ran% LSS 1 goto start
if !1!==1 goto start
if !2!==1 goto start
if !3!==1 goto start
if !4!==1 goto start
if !5!==1 goto start
if !6!==1 goto start
if !7!==1 goto start
if !8!==1 goto start
if !9!==1 goto start
if !10!==1 goto start
if !11!==1 goto start
if !12!==1 goto start
if !13!==1 goto start
if !14!==1 goto start
if !15!==1 goto start
if !16!==1 goto start
if !17!==1 goto start
if !18!==1 goto start
if !19!==1 goto start
if !20!==1 goto start
if !21!==1 goto start
if !22!==1 goto start
if !23!==1 goto start
if !24!==1 goto start
if !25!==1 goto start
if !26!==1 goto start
if !27!==1 goto start
if !28!==1 goto start
if !29!==1 goto start
if !30!==1 goto start
if !31!==1 goto start
if !32!==1 goto start
if !33!==1 goto start
if !34!==1 goto start
if !35!==1 goto start
if !36!==1 goto start
if !37!==1 goto start
if !38!==1 goto start
if !39!==1 goto start
if !40!==1 goto start
if !41!==1 goto start
if !42!==1 goto start
if !43!==1 goto start
if !44!==1 goto start
if !45!==1 goto start
if !46!==1 goto start
if !47!==1 goto start
if !48!==1 goto start
if !49!==1 goto start
if !50!==1 goto start
if !51!==1 goto start
if !52!==1 goto start
if !53!==1 goto start
if !54!==1 goto start
if !55!==1 goto start
if !56!==1 goto start
if !57!==1 goto start
if !58!==1 goto start
if !59!==1 goto start
if !60!==1 goto start
if !70!==1 goto start
if !71!==1 goto start
if !72!==1 goto start
if !73!==1 goto start
if !74!==1 goto start
if !75!==1 goto start
if !76!==1 goto start
if !78!==1 goto start
if !79!==1 goto start
if !80!==1 goto start
if !81!==1 goto start
if !82!==1 goto start
if !83!==1 goto start
if !84!==1 goto start
if !85!==1 goto start
if !86!==1 goto start
if !87!==1 goto start
if !88!==1 goto start
if !89!==1 goto start
if !90!==1 goto start
if %ran%==1 set ergebnis=1 && set !1!=1 && goto ausgabe
if %ran%==2 set ergebnis=2 && set !2!=1 && goto ausgabe
if %ran%==3 set ergebnis=3 && set !3!=1 && goto ausgabe
if %ran%==4 set ergebnis=4 && set !4!=1 && goto ausgabe
if %ran%==5 set ergebnis=5 && set !5!=1 && goto ausgabe
if %ran%==6 set ergebnis=6 && set !6!=1 && goto ausgabe
if %ran%==7 set ergebnis=7 && set !7!=1 && goto ausgabe
if %ran%==8 set ergebnis=8 && set !8!=1 && goto ausgabe
if %ran%==9 set ergebnis=9 && set !9!=1 && goto ausgabe
if %ran%==10 set ergebnis=10 && set !10!=1 && goto ausgabe
if %ran%==11 set ergebnis=11 && set !11!=1 && goto ausgabe
if %ran%==12 set ergebnis=12 && set !12!=1 && goto ausgabe
if %ran%==13 set ergebnis=13 && set !13!=1 && goto ausgabe
if %ran%==11 set ergebnis=14 && set !14!=1 && goto ausgabe
if %ran%==15 set ergebnis=15 && set !15!=1 && goto ausgabe
if %ran%==16 set ergebnis=16 && set !16!=1 && goto ausgabe
if %ran%==17 set ergebnis=17 && set !17!=1 && goto ausgabe
if %ran%==18 set ergebnis=18 && set !18!=1 && goto ausgabe
if %ran%==19 set ergebnis=19 && set !19!=1 && goto ausgabe
if %ran%==20 set ergebnis=20 && set !20!=1 && goto ausgabe
if %ran%==21 set ergebnis=21 && set !21!=1 && goto ausgabe
if %ran%==22 set ergebnis=22 && set !22!=1 && goto ausgabe
if %ran%==23 set ergebnis=23 && set !23!=1 && goto ausgabe
if %ran%==24 set ergebnis=24 && set !24!=1 && goto ausgabe
if %ran%==25 set ergebnis=25 && set !25!=1 && goto ausgabe
if %ran%==26 set ergebnis=26 && set !26!=1 && goto ausgabe
if %ran%==27 set ergebnis=27 && set !27!=1 && goto ausgabe
if %ran%==28 set ergebnis=28 && set !28!=1 && goto ausgabe
if %ran%==29 set ergebnis=29 && set !29!=1 && goto ausgabe
if %ran%==30 set ergebnis=30 && set !30!=1 && goto ausgabe
if %ran%==31 set ergebnis=31 && set !31!=1 && goto ausgabe
if %ran%==32 set ergebnis=32 && set !32!=1 && goto ausgabe
if %ran%==33 set ergebnis=33 && set !33!=1 && goto ausgabe
if %ran%==34 set ergebnis=34 && set !34!=1 && goto ausgabe
if %ran%==35 set ergebnis=35 && set !35!=1 && goto ausgabe
if %ran%==36 set ergebnis=36 && set !36!=1 && goto ausgabe
if %ran%==37 set ergebnis=37 && set !37!=1 && goto ausgabe
if %ran%==38 set ergebnis=38 && set !38!=1 && goto ausgabe
if %ran%==39 set ergebnis=39 && set !39!=1 && goto ausgabe
if %ran%==40 set ergebnis=40 && set !40!=1 && goto ausgabe
if %ran%==41 set ergebnis=41 && set !41!=1 && goto ausgabe
if %ran%==42 set ergebnis=42 && set !42!=1 && goto ausgabe
if %ran%==43 set ergebnis=43 && set !43!=1 && goto ausgabe
if %ran%==44 set ergebnis=44 && set !44!=1 && goto ausgabe
if %ran%==45 set ergebnis=45 && set !45!=1 && goto ausgabe
if %ran%==46 set ergebnis=46 && set !46!=1 && goto ausgabe
if %ran%==47 set ergebnis=47 && set !47!=1 && goto ausgabe
if %ran%==48 set ergebnis=48 && set !48!=1 && goto ausgabe
if %ran%==49 set ergebnis=49 && set !49!=1 && goto ausgabe
if %ran%==50 set ergebnis=50 && set !50!=1 && goto ausgabe
if %ran%==51 set ergebnis=51 && set !51!=1 && goto ausgabe
if %ran%==52 set ergebnis=52 && set !52!=1 && goto ausgabe
if %ran%==53 set ergebnis=53 && set !53!=1 && goto ausgabe
if %ran%==54 set ergebnis=54 && set !54!=1 && goto ausgabe
if %ran%==55 set ergebnis=55 && set !55!=1 && goto ausgabe
if %ran%==56 set ergebnis=56 && set !56!=1 && goto ausgabe
if %ran%==57 set ergebnis=57 && set !57!=1 && goto ausgabe
if %ran%==58 set ergebnis=58 && set !58!=1 && goto ausgabe
if %ran%==59 set ergebnis=59 && set !59!=1 && goto ausgabe
if %ran%==60 set ergebnis=60 && set !60!=1 && goto ausgabe
if %ran%==61 set ergebnis=61 && set !61!=1 && goto ausgabe
if %ran%==62 set ergebnis=62 && set !62!=1 && goto ausgabe
if %ran%==63 set ergebnis=63 && set !63!=1 && goto ausgabe
if %ran%==64 set ergebnis=64 && set !64!=1 && goto ausgabe
if %ran%==65 set ergebnis=65 && set !65!=1 && goto ausgabe
if %ran%==66 set ergebnis=66 && set !66!=1 && goto ausgabe
if %ran%==67 set ergebnis=67 && set !67!=1 && goto ausgabe
if %ran%==68 set ergebnis=68 && set !68!=1 && goto ausgabe
if %ran%==69 set ergebnis=69 && set !69!=1 && goto ausgabe
if %ran%==70 set ergebnis=70 && set !70!=1 && goto ausgabe
if %ran%==71 set ergebnis=71 && set !71!=1 && goto ausgabe
if %ran%==72 set ergebnis=72 && set !72!=1 && goto ausgabe
if %ran%==73 set ergebnis=73 && set !73!=1 && goto ausgabe
if %ran%==74 set ergebnis=74 && set !74!=1 && goto ausgabe
if %ran%==75 set ergebnis=75 && set !75!=1 && goto ausgabe
if %ran%==76 set ergebnis=76 && set !76!=1 && goto ausgabe
if %ran%==77 set ergebnis=77 && set !77!=1 && goto ausgabe
if %ran%==78 set ergebnis=78 && set !78!=1 && goto ausgabe
if %ran%==79 set ergebnis=79 && set !79!=1 && goto ausgabe
if %ran%==80 set ergebnis=80 && set !80!=1 && goto ausgabe
if %ran%==81 set ergebnis=81 && set !81!=1 && goto ausgabe
if %ran%==82 set ergebnis=82 && set !82!=1 && goto ausgabe
if %ran%==83 set ergebnis=83 && set !83!=1 && goto ausgabe
if %ran%==84 set ergebnis=84 && set !84!=1 && goto ausgabe
if %ran%==85 set ergebnis=85 && set !85!=1 && goto ausgabe
if %ran%==86 set ergebnis=86 && set !86!=1 && goto ausgabe
if %ran%==87 set ergebnis=87 && set !87!=1 && goto ausgabe
if %ran%==88 set ergebnis=88 && set !88!=1 && goto ausgabe
if %ran%==89 set ergebnis=89 && set !89!=1 && goto ausgabe
if %ran%==90 set ergebnis=90 && set !90!=1 && goto ausgabe





goto start












:ausgabe

echo Die Zahl ist %ergebnis%.

set ergebnis=0
goto start




:0000
echo Willkommen zum Batch Bingo
echo.
echo einfach eine taste druecken und schon geht es los
pause >nul
cls
goto start


ps vielen dank dank*10000
 
Die 90 Zeilen mit if !1!==1 goto start machen keinen Sinn. Sobald ein Wert gezogen wurde, landest Du in einer Endlosschleife. Momentan merkst Du das noch nicht, weil ein anderer Fehler das verhindert. Wie ich im letzten Posting schon anmerkte: set !1!=1 ist verkehrt. Du willst vermutlich set 1=1 anwenden. Aber sobald Du diesen Fehler beseitigst, kommt die Endlosschleife ...

Eventuell kannst Du an Stelle von if !1!==1 goto start neu schreiben:
Code:
if %ran%==1 (
  if !1!==1 goto start
)
Das ganze natürlich 90 mal ...
 
Zuletzt bearbeitet:
Zurück
Oben