jakicoll
Goto Top

Debugger für Batch Dateien

Hallo!
Ich habe folgendes Problem:
Ich habe eine Lange Batch Datei geschrieben.
Beim Ausführen geht die Datei immer wieder Plötzlich zu.
Deshalb meine Frage an euch:

Gibt es einen Debugger für Batch Dateinen


Jakob

Content-ID: 58047

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

Ausgedruckt am: 13.11.2024 um 12:11 Uhr

wakko
wakko 02.05.2007 um 16:25:46 Uhr
Goto Top
Moin,

führst du die einfach über Doppelklick aus?
dann ruf die Batch mal von der Kommandozeile aus auf, dann geht des nicht zu und du siehst die Fehlermeldung...

MfG
jakicoll
jakicoll 02.05.2007 um 16:34:55 Uhr
Goto Top
Danke für den Tipp...
Hab den Fehler aber verstehe in nicht
was ist hier Syntaxfehler?
...
Set 10=0
...

Jakob
cronossphere
cronossphere 02.05.2007 um 16:37:53 Uhr
Goto Top
Bist du sicher, dass das der Fehler ist? Bei mir funktioniert das ohne Probleme...
jakicoll
jakicoll 02.05.2007 um 16:39:53 Uhr
Goto Top
Bei mir auch aber in der Batch nicht
Ich schau aber nochmal nach öb das der Fehler ist....

[Nachtrag] Hab Ihn Fehler ist:
IF %10% NEQ 0 set z2=%10%
Verstehn tu ich aber auch da nicht was der Fehler ist
[/Nachtrag]
cronossphere
cronossphere 02.05.2007 um 17:12:53 Uhr
Goto Top
Scheint so, als ob eine Variable nicht nur eine Zahl als Namen haben darf...

set _10=0
if not %_10% == 0 set z2=%_10%

Funktioniert bei mir...
Biber
Biber 02.05.2007 um 18:33:31 Uhr
Goto Top
Moin jakicoll,

der Fehler ist ein doppelter Variablenname.
Denn die Variablen %0, %1, %2....%9 sind dynamisch vorgegeben und werden aufgelöst zu
- dem Namen der Batchdatei (%0) und
- den 9 möglichen Aufrufparametern (%1....%9)

Das heißt, das was Du vermeintlich auflösen willst als Variable "10" (%10%) wird in Wirklichkeit beim Parsen schon als Parameter 1 (%1) plus"0%" aufgelöst.
Tja, und hier....
...
IF %10% NEQ 0 set z2=%10%
...hier wird nach dem zweiten, für dich "schliessenden" Prozentzeichen vom CMD-Interpreter eine zweite Variable namens "% == 0 set z2=%" erwartet.. das geht in die Grütze.

Versuch mal an folgendem Schnipsel nachzuvollziehen, wo Du und der CMD-Interpreter aneinander vorbeiredet:
::---snipp ParameterTest.bat
@echo off
echo %1 %2 %3 %4 %5 %6 %7 %8 %9 %10
echo %1 %2% %3% %4% %5 %6% %7 %8 %9 %10%
Am CMD-Prompt:
>ParameterTest.bat a b c d e f g h i j k
a b c d e f g h i a0
a b345 f7 h i a0

Gruss
Biber
jakicoll
jakicoll 03.05.2007 um 14:16:29 Uhr
Goto Top
Hallo Biber!
Das ich da nicht selbst drauf gekommen bin...
Ich hab´s repariert und jetzt läuft die Batch Datei wie geschmirt!

Jakob