Variable wert erhöhen in batch? (Ist dieser Code richtig)?

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

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren