Hallo,
ich möchte in einem Batch File den Rückgabewert eines UL Programms in eine Variable speichern.
Ich habe bereits erreicht, dass der interessierende Wert des ULPs als Rückgabewert in Eagle ankommt:
int anzahl;
board(B)
B.layers(L) {
if (L.used) {
anzahl++;
}
}
exit(anzahl);
Wenn das ULP fertig ist, steht unten im Boardfensterrahmen: Run:AnzahlLayer.ulp: beendet (Fehlerlevel %Inhalt von anzahl%)
Jetzt starte ich das ULP in einem Batch File:
FOR /F "tokens=*" %%i IN ('%EAGLEDIR%\bin\eaglecon.exe %ppfad%%quelle% -C "run AnzahlLayer"') do (SET ABC=%%i)
In der Hoffnung, dass der Fehlerlevel irgendwie als Rückgabewert des Eaglecon-Aufrufs übergeben wird, was allerdings nicht funktioniert. Die Variable ABC bleibt leer.
Ist mein Vorhaben überhaupt realisierbar?
Eine Idee wäre vielleicht statt ein ulp erstmal ein script zu starten, welches das ulp startet und dann die Variable anzahl in eine Datei schreibt. Geht das? Die Datei könnte ich im Batch dann wieder einlesen.
Gruß
Barney