jhb-kaltduscher
Goto Top

Batch-Variable funktioniert nicht mehr

In einer bestehenden Batch-Menü-Anwendung
funktionieren neu erstellte Programme nicht mehr.
Die Programmvariable %xxxx% liefert keine Werte.
Ich habe dazu ein kleines Testprogramm geschrieben um den Fehler aufzuzeigen.
Die entscheidenden Programmzeilen:
    Set **$Debug  = 9**
@Echo -^>[**%$Debug%**]^<-
 If [**%$Debug%**] GEQ [8] (@Echo #######)

Der Programmcode
 ECHO ON
 Setlocal EnableExtensions
 CHCP 1252
::
@Echo ---------------^> ANFANG ^<-------------------
::
:: Definitionen
 Set $Debug  = 9
::
@Echo ######-[%$Debug%]-#######
::
 If [%$Debug%] GEQ [8] (@Echo #######)
::
@Echo +++++++++++++++++++ EXIT /B ++++++++++++++++++++++
 Exit /B 0

Das Aufrufprogramm
 ECHO ON
 Setlocal EnableExtensions
 CHCP 1252
::
:: Programm-Ebene und Debug-Schalter
 Set $Spiele=%~dp0
::
@Echo ########### Starte Subroutine ###############
CD %$Spiele%
CALL #MenuLnk_.bat
@Echo ########### RETURN mit Errorcode-[%ERRORCODE%] ############
::
@Echo *-ENDE-* & @Pause
@Endlocal
 Exit

Fehlerprotokoll
menulnt1

Der Wert $Debug = ) wird nicht an die Ausgabe %$Debug% weitergegeben.
Das Testprogramm habe ich auf zwei weiteren Systemen mit dem gleichen Ergebnis getestet.
Für mich völlig unverständlich.
Wer weiß Rat?

Content-Key: 4962142527

Url: https://administrator.de/contentid/4962142527

Printed on: April 27, 2024 at 16:04 o'clock

Mitglied: 141986
141986 Dec 15, 2022 updated at 06:41:01 (UTC)
Goto Top
Moin,

Set $Debug  = 9
vs
Set $Debug=9

C:\>test.bat
C:\>ECHO ON
C:\>Setlocal EnableExtensions
C:\>CHCP 1252
Aktive Codepage: 1252.
---------------> ANFANG <-------------------
C:\>Set $Debug=9
######-[9]-#######

Als Gamedev (warum Batch?!) .. sollte Dir das eigentlich selbst auffallen. Mit einer vernünftigen Sprache und 'ner IDE wäre das vermutlich nicht passiert.

Grüße

Edita: Netiquette mal beachten..
Edita²: der Tag "#admFeedback" ist hier falsch. Der Tag ist meines Wissens nach für Feedback direkt zu administrator.de
Member: TK1987
TK1987 Dec 15, 2022 at 07:24:55 (UTC)
Goto Top
Moin,

neben dem, was @141986 schon gesagt hat, heisst es bei Batch "%ERRORLEVEL%" und nicht "%ERRORCODE%"

Gruß Thomas
Member: JHB-Kaltduscher
JHB-Kaltduscher Dec 15, 2022 at 14:38:35 (UTC)
Goto Top
Sorry
Herzlichen Dank
Da hat sich wohl eine Schraube im Gehirn verdreht.
Der eigentliche Fehler lag im Windows.
Nach >> Inplace Upgrade Reparatur << Win 10 reparieren
ist der Fehler weg.

Gruß Jürgen
Member: JHB-Kaltduscher
JHB-Kaltduscher Dec 15, 2022 at 14:40:56 (UTC)
Goto Top
Moin
Herzlichen Dank für den Hinweis.
Als Neuling macht man Fehler.
Der eigentliche Fehler lag im Windows.
Nach >> Inplace Upgrade Reparatur << Win 10 reparieren
ist der Fehler weg.

Gruß Jürgen
Member: JHB-Kaltduscher
Solution JHB-Kaltduscher Dec 15, 2022 at 14:47:13 (UTC)
Goto Top
Hallo
Der eigentliche Fehler lag im Windows.
Nach >> Inplace Upgrade Reparatur << Win 10 reparieren ist der Fehler weg.

Zudem habe ich nicht bei allen Staements darauf geachtet, das sich im Anschluss keine Leerstellen befinden,
dies führt bei einigen Befehlen (FOR etc.) zu seltsamen Ergebnissen.

Gruß Jürgen