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-Key: 58047

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

Printed on: April 26, 2024 at 02:04 o'clock

Member: wakko
wakko May 02, 2007 at 14:25:46 (UTC)
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
Member: jakicoll
jakicoll May 02, 2007 at 14:34:55 (UTC)
Goto Top
Danke für den Tipp...
Hab den Fehler aber verstehe in nicht
was ist hier Syntaxfehler?
...
Set 10=0
...

Jakob
Member: cronossphere
cronossphere May 02, 2007 at 14:37:53 (UTC)
Goto Top
Bist du sicher, dass das der Fehler ist? Bei mir funktioniert das ohne Probleme...
Member: jakicoll
jakicoll May 02, 2007 at 14:39:53 (UTC)
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]
Member: cronossphere
cronossphere May 02, 2007 at 15:12:53 (UTC)
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...
Member: Biber
Biber May 02, 2007 at 16:33:31 (UTC)
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
Member: jakicoll
jakicoll May 03, 2007 at 12:16:29 (UTC)
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