kleinmeier
Goto Top

errorlevel nach call aufruf

Hallo

Dieses ist meine erste Batch die ich geschrieben habe oder noch am schreiben bin.
Bitte nicht gleich draufhauen, wenn sie nicht ganz der Norm entspricht.
Habe leider keine Ahnung von Programieren in was auch immer für eine Sprache.
Wäre nett wenn mir einer Helfen könnte.

So nun mein Problem!

@echo off
cls

cd skripte
cd wbat

wbat cls ! text 2,4 :input ! box 21,60 Weiter,Verlassen,Hilfe
if errorlevel 3 goto hilfe
if errorlevel 2 goto ende
if errorlevel 1 goto weiter

:weiter

cd..
????????????????
call menu.bat %1
??????????????????
if errorlevel 3 goto hilfe
if errorlevel 2 goto ende
if errorlevel 1 goto weiter

:IPabfrage

@echo off
echo open %IP%>zugang.txt
echo %user%>>zugang.txt
echo %passwort%>>zugang.txt
echo lcd>>zugang.txt
echo ascii>>zugang.txt
echo prompt>>zugang.txt
echo ls -bin test2.txt>>zugang.txt
echo cd bin>>zugang.txt
echo ls -.*. test3.txt>>zugang.txt
echo bye>>zugang.txt
ftp -s:zugang.txt
goto variable


:hilfe
wbat cls ! text 2,4 :input-var ! box 21,60 Weiter,Verlassen
if errorlevel 2 goto ende
if errorlevel 1 goto weiter

Ich möchte nach dem "call menu.bat %1" eine errorlevel abfrage machen wie
oben auch.
Es geht aber weder nach dem call noch in der "menu.bat"

Die siet so aus:

menu.bat:

cd WBAT
set IP=192.168.
set user=root
set passwort=*
call w.bat box @..\menu.txt:test1

Irgenteiner eine Idee dazu?

Gruß
kleinmeier

Content-Key: 84019

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

Printed on: April 19, 2024 at 00:04 o'clock

Member: miniversum
miniversum Mar 26, 2008 at 19:01:02 (UTC)
Goto Top
Sollte eigentlich so funktionieren.
Teste dashier mal:

1.bat:
@echo off
echo %errorlevel%
call 2.bat
echo %errorlevel%
pause

2.bat:
@find "$" $ 2>NUL

Als Ergebnis sollte folgendes rauskomen:
0
1
Member: kleinmeier
kleinmeier Mar 26, 2008 at 19:25:22 (UTC)
Goto Top
Hallo miniversum

Danke dir für die schnelle Hilfe.

Es Lüpt, warum auch immer?

Wäre es zuviel verlangt wenn du mir die 2.bat erklären könntest ?
Habe mir schon bei Wbat fast die Zähne ausgebissen, ist meine erste Batch,
und ich würde gerne verstehen was ich da reinschreibe.


Gruß
kleinmeier
Member: kleinmeier
kleinmeier Mar 26, 2008 at 20:04:09 (UTC)
Goto Top
Hallo

Zufrüh getippt>>>schäm

Es kommt als ausgabe immer nur eine 0
Habe es so eingebaut:

1bat:
:weiter
cd..
call menu.bat %1
if errorlevel 3 goto hilfe
if errorlevel 2 goto ende
if errorlevel 1 goto weiter

@echo off
echo %errorlevel%
call menu.bat %1
echo %errorlevel%

:hilfe

wbat cls ! text 2,4 :input-var ! box 21,60 Weiter,Verlassen
if errorlevel 2 goto ende
if errorlevel 1 goto weiter


2bat:
cd WBAT

set IP=192.168.
set user=root
set passwort=*
@find "$" $ 2>NUL
call w.bat box @..\menu.txt:test1

Gruß
kleinmeier
Member: miniversum
miniversum Mar 27, 2008 at 08:51:59 (UTC)
Goto Top
Ok ichhäts besser erklären sollen. meine 2.bat war nur als anschaulicher test gedacht. Der efehl sorgt nur dafür das in einer Datei 4 (die wahrscheinlich ncith existieren wird nach $ gesucht wird. Das ist einfach nur um einen Errorlevel 1 zu erhalten. sonst für nichts. Da ich hier keine wbat.exe habe kann ich es ncith anders als durch diesen test achvollziehen.
Aber wenn mein Test bei dir funktioniert wird ja prinzipiell ein Errorlevel bei dir korrekt von einer batch zur andern zurück übernommen. Was die wbat.exe bei dir macht und ob die die errorlevel korrekt erzeugt kann ih halt ncith sagen.
Member: kleinmeier
kleinmeier Mar 30, 2008 at 10:10:13 (UTC)
Goto Top
Hallo,

entschuldigung das ich mich jetzt erst wieder melde !
Mußte Beruflich für ein paar Tage weg.
Es ist nicht meine art, jemanden der Helfen möchte, im Regen stehen
zu lassen. Beim nächsten Einsatz werde ich mich abmelden.
So Sorry!!
Würde es schon Verstehen wenn du mir nicht mehr weiterhelfen möchtest.


In der Hoffnung das du es doch machst.
Habe es jetzt so eingebaut:

cd..
cd wbat
@echo off
echo %errorlevel%
pause
call w.bat box 16,50 :checkbox-example #3
@echo off
echo %errorlevel%
pause

Bei der ersten errorlevel abfrage gibt er eine 1 aus und zu der
zweiten kommt es erst gar nicht.
Da sagt er mir "Das System kann den angegebenen Pfad nicht finden."

Gruß
kleinmeier
Member: miniversum
miniversum Mar 30, 2008 at 10:33:43 (UTC)
Goto Top
Ändere mal alle echo off in echo on um.
Dann starte die eingabeaufforderung und führe die Batch von dort aus.
Dann solltest du sehen was nach einander gescheiht. Auch Fehlermeldungen sollten zu sehen sein.

Warum der Erste errorlevel 1 ist kann ich so nciht nachvollziehen. oder kommt da vorher noch etwas?

Wegen dem: "Das System kann den angegebenen Pfad nicht finden."
Da würde ich behaubten das die w.bat nicht im verzeichnis wbat liegt.
Member: kleinmeier
kleinmeier Mar 30, 2008 at 11:33:39 (UTC)
Goto Top
Hallo

Ersteimal Danke das du weitermachst !
Hat was länger gedauert,wegen Essen.
Bei der ersten abfrage gibt er errorlevel = 0
bei der zweiten errorlevel = 1


Gruß
trull
Member: miniversum
miniversum Mar 30, 2008 at 15:13:32 (UTC)
Goto Top
Ah ok. dachte ich mir. Oben hattest Dus umgekehrt geschreiben.
Funktioniert den der Call aufruf?
Mach mal nur ne Batch die im gleichen Verzeichnis liegt wie die w.bat mit folgendem Inhalt
call w.bat box 16,50 :checkbox-example #3
echo %errorlevel%
pause

So würd ich mal behabten das irgendein Parameter den du w.bat übergibst ncith past.
Member: kleinmeier
kleinmeier Mar 30, 2008 at 17:05:51 (UTC)
Goto Top
Hallo

Er gibt errorlevel 1 aus.

Der call aufruf geht.
Es wird damit eine wbat-Maske aufgerufen die so aussiet.

:checkbox-example "Installer-Uninstaller" [x]


Jetzt noch eine bin deiner Wahl.


Es geht nur eine bin................Diese bin hast du auf der Kiste:

Einfach in die Box klicken

[!] Kiste mit 2............... ...bin: [$bin1,20 ]
[!] Kiste mit 3..........................[$bin2,20 ]
[!] Kiste mit 4..........................[$bin3,20 ]
[!] bin1....................................[$bin4,20 ]
[!] bin2....................................[$bin5,20 ]
[!] bin3
[!] bin4


[ Weiter ] [ Verlassen ] [ Hilfe ]

Das "Weiter,Verlassen ,Hilfe " möchte ich über den errorlevel steuern.
Oder gibt es eventuell die möglichkeit das "Weiter, Verlassen,Hilfe" als Variable zu setzen
um es aus jeder Maske aus aufzurufen.


Gruß
kleinmeier
Member: miniversum
miniversum Mar 31, 2008 at 08:19:25 (UTC)
Goto Top
Aus irgendeinem grund muß ja die w.bat diesen Errorlevel erzeugen.
Wie meinst du das das du das "Weiter, Verlassen,Hilfe" über den errorlevel steuern willst?
Du kanst den errorlevel auch einer andern variabeln zuseitsen mit set var=errorlevel. oder was meinst du?
Member: kleinmeier
kleinmeier Mar 31, 2008 at 16:47:17 (UTC)
Goto Top
Hallo miniversum


Ich Danke dir für deine Hilfe, aber ich denke mal das ich ersteinmal ein wenig mehr über
das Schreiben von Bat-Dateien Lernen muß.
Bin derzeitig noch ein wenig überfordert, was weniger an deiner Hilfe, als mehr an meinem
Unvermögen liegt.
Also nochmal Danke !


Gruß
kleinmeier