Variable wert erhöhen in batch? (Ist dieser Code richtig)?
set anfragen = 0
:1
set /a anfragen +1
title %anfragen%
cls
goto 1
1 Antwort
Mal mit probieren versucht?😏
aber... Nein.
in Batch können Variablennamen Leerzeihen enthalten .
set anfragen = 0
...setzt die Variabe anfragenLeerzeichen=Leerzeichen0, was in Deine Deinem Beispiel nicht kritisch ist, da set /a eine unbekannte Variable oder eine mit nicht einem Inhalt, welcher kein Integer ist, erstmal als 0 ansieht.
set /a... ist falsch, da ein = fehlt. set /a akzeptiert bei dieser Schreibweise keine Leerzeichen und entfernt diese, bzw zerlegt einen Variablenamen am Leerzeichen.
- Sprunglabel sollten nie mit einer Zahl beginnen. (auch wenn Batch es akzeptiert)
- Title setzt den Fensternamen und ist nur bedingt zur Ausgabe geeignet .
- cls macht hier keinen Sinn (den Prompt unterdrückt man mit einem @echo off am Beginn des Scripts)
so würde es funktionieren:
demo.cmd
@echo off
set "anfragen=0"
:Label1
set /a "anfragen += 1"
title %anfragen%
goto :Label1
- gotoSchleifen sind nicht schön... es geht effizienter
demo2.cmd
@echo off
rem 1 Milliarde sind für eien Batch-Zählschleife so gut wie unendlich
for /l %%a in (1,1,1000000000) do (
title %%a
)
bevor Du auf die Idee kommst mit Batch könne man genz Einfach mal ein Programm schreiben...:
Es lohnt nicht mehr Batch zu lernen wenn man über ein Wenig echo und goto hinaus will, wird Batch zur Sprache mit den kompliziertesten Regeln, welche es überhaupt gibt.
Lerne besser Powershell