Hallo.
ich habe bestimmt eine absolut blöde Frage aber ich komme einfach nicht weiter.
Ich habe ein Python-Script geschrieben der vom pre-commit.bat aufgerufen wird.
Ich versuche Fehlerfälle zu testen um zu sehen ob es gut reagiert.
Der Python Script läuft wie erwartet, und spuckt den entsprechenden return Wert (1 bei Fehler, 0 wenn es ok ist).
Ich kann aber in dem Bat diesen Fehlercode nicht abfangen.
Ich habe zuerst versucht mit:
if not e:\svn\hook\pre-commit-check.py %REPOS% %TXN% == 0 goto Error2
aber da streikt schon mal den Commander
Dann
e:\svn\hook\pre-commit-check.py %REPOS% %TXN%
und errorlevel abtesten.
Der bleibt aber immer 0, egal ob der ausgang aus Python mit Return x oder mit exit(x) erzeugt wird.
dann habe ich noch versucht mit
set /a RES = e:\svn\hook\pre-commit-check.py %REPOS% %TXN%
und dann %RES% testen aber da wird der Python script erst gar nicht aufgerufen.
Ich habe noch gesurft und gesucht aber nichts gefunden.
Bitte helft mir, auch wenn meine Frage bestimmt vom unterem Niveau ist.
Gruß
Mania
return Wert von Python Script in Bat Datei abfangen (Win)
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Der Error-Level steht mit %ERRORLEVEL% in einer Variablen zur verfügung. Such mal auf der Seite danach: http://www.admini.de/batch-infos.htm
Ausgaben von einem Programm kann man auf zwei verschiedene Arten machen. Direkt oder über einer Temp-Datei.
Ein Beispiel findest du hier:
http://de.wikibooks.org/wiki/Batch-Prog ... st_Abfrage
Aber beschreib doch mal ehr, was die Batch-Datei überhaupt machen soll. Denn ich denke, das du das besser direkt in Python erledigen kannst. Mittels subprocess ( http://wiki.python.de/Neue_Features#Subprocess ) kannst du "DOS" Programme starten und die Ausgaben verabrieten...
Ausgaben von einem Programm kann man auf zwei verschiedene Arten machen. Direkt oder über einer Temp-Datei.
Ein Beispiel findest du hier:
http://de.wikibooks.org/wiki/Batch-Prog ... st_Abfrage
Aber beschreib doch mal ehr, was die Batch-Datei überhaupt machen soll. Denn ich denke, das du das besser direkt in Python erledigen kannst. Mittels subprocess ( http://wiki.python.de/Neue_Features#Subprocess ) kannst du "DOS" Programme starten und die Ausgaben verabrieten...
Hallo Jens,
dein Link mit den Batch Infos ist super. Alles drin was ich brauche und hat auch geklappt (ist sofort in meine Favoriten eingeflossen...).
Ich hatte ein Batch-Kurs in Pdf format, dass aber nur Verwierrung gebracht hat.
Ich musste unbedingt den Python script aus einem Bat starten und da den Fehlerfall weitergeben weil es fest verdrahtet ist.
Danke & Gruß
Mania
dein Link mit den Batch Infos ist super. Alles drin was ich brauche und hat auch geklappt (ist sofort in meine Favoriten eingeflossen...).
Ich hatte ein Batch-Kurs in Pdf format, dass aber nur Verwierrung gebracht hat.
Ich musste unbedingt den Python script aus einem Bat starten und da den Fehlerfall weitergeben weil es fest verdrahtet ist.
Danke & Gruß
Mania