Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X
Hallo zusammen,
ich habe eine EXE-Datei, die DOS basiert ist, die ich über die Kommandozeile aufrufen möchte.
Wie muß die Zeile ausehen?
(OLI::SD-SYS-EXEC "cmd g:\Zeige-mehr.exe")
hat nicht funktioniert.
Mit freundlichem Grusz
Werner
Solved! Go to Solution.
Hallo again
>im CAD-Forum wega.
würde an deiner Stelle die Frage dort stellen, da hast du bessere Ansprechpartner für so was.
Hallo Werner, oder wega ??
bin kein Lispler und musste recherchieren
Du schreibst:
(OLI::SD-SYS-EXEC "cmd g:\Zeige-mehr.exe")
"Zeige-mehr.exe" habe ich natürlich nicht, habe dafür ein anders Onboardprogramm genommen und getestet.
Der Pfad kommt aus meinem alten XP Netbook mit dem ich gerne surfe.
Kann also bei dir anders sein. Kannst ja deine "g:/Zeige-mehr.exe" reinkopieren
Versuch mal:
(OLI:SD-SYS-EXEC "C:/WINDOWS/system32/calc.exe")
Bzw. dein Pfad:
(OLI:SD-SYS-EXEC "G:/Zeige-mehr.exe")
Wichtig:
-Nach OLI nur ein :
-cmd weg
- die \ müssen für Lisp und Modeling andersrum, so / ( wie beim Laden von Anpassungsdateien)
Das Programm ist unter Unix entstanden und das arbeitet mit diesen Pfadtrennern.
Quelle:
http://forum.cad.de/foren/ubb/Forum92/HTML/000508.shtml
oder anders
Schönen Tag noch
Friedhelm
Hallo Friedhelm,
Werner hier, im CAD-Forum wega.
Ja, deine Anregung kenne ich, vielleicht bis auf den doppelten ":"-Punkt.
Damit ruft man windowsbasierende Programme auf, die auf der graphischen
Oberfläche laufen. - So habe ich das bisher verstanden; kann mich aber irren!
In meinem Fall möchte ich aber eine DOS-Shell öffnen, wie man das mit:
Start - Ausführen - cmd
unter Windows erreicht. Und in dieser DOS-Shell eine EXE-Programm ausführen,
das textbasiert ist.
Und somit suche ich eine Befehlsfolge für die Kommandozeile, die das macht.
Natürlich kann ich auch aus Epress rausgehen und das über den Windows-Startbutton machen.
Wenn es aber eine PTC-Creo-Anweisung für die DOS-Shell gibt, dann kann man ja auch einen
Button in Express dafür anlegen. - So meine Übelegung.
Einen schönen Tag wünsche ich Dir auch.
Grusz Werner
Hallo again
>im CAD-Forum wega.
würde an deiner Stelle die Frage dort stellen, da hast du bessere Ansprechpartner für so was.
Hallo Friedhelm,
da hast Du wohl recht.
Werde ich machen.
Mit freundlichem Grusz und einen
schönen Tag
Werner
Ganz einfach:
(oli:sd-sys-exec "C:/Temp/hello.bat")
C:\Temp\hello.bat hat nur eine Zeile:
echo "Hello DOS" >> C:\Temp\hello.txt
Tut und kann beliebig ausgebaut werden.
Hinweis: Ein "\" (Backslash) in der Pfad-Angabe geht deshalb nicht, weil der Backslash für LISP ein "Meta"-Zeichen ist.
Zum Glück sind die Creo Elements Direct Produkte alle so schlau, dass Pfad-Angaben automatisch umgesetzt werden.
(das gilt für ME10, SolidDesigner, Annotation, Workmanager und sogar für den Model Manager).
Alles ausser Windows verwendet / und nicht \ (z.B. auch http:// .....)
Hoffe das hilft.
Hallo Max,
danke für Deine Antwort.
Im CAD.de - Forum habe ich folgende Antwort bekommen:
(ole:sd-sys-exec "start cmd.exe")
Und damit öffnet sich dann das gesuchte
DOS-Fenster.
Mit freundlichem Grusz
Werner
Hallo Werner,
Dachte nicht, dass es "nur" um das Öffnen des DOS Windows geht.
Statt "ole:" muss das wohl "oli:" heissen (:OLI package)
Übrigens: Hinter OLI:SD-SYS-EXEC steckt nix anderes als die Standard Funktion (SYSTEM .....) - aus Common LISP.
Gruß,
Max
Hallo Max,
hast recht, wir sind ja hier nicht in Spanien (grins).
Mit eueren LISP-Kenntnissen seid ihr mir haushoch
überlegen!
Ich experimentiere einfach mal gerne und kitzle schon mal hier
und da gerne an einem Programm.
So experimentiere ich im Augenblick mit dem Daten-
und funktionsaustausch zwischen Express und FreeCAD.
FreeCAD kommt nicht an den Komfort des Express heran; bietet
aber die machmal umstrittene Möglichkeit STL-Daten in STP-Daten
umzuwandeln (als Beispiel).
So kann man die wohl sinnvoll gesetzten Grenzen der Freewareversion
Express für die Hobby-(Freizeit-)anwendung manchmal umgehen.
Es sei denn, man beherscht auf der Expressseite LISP und auf der
FreeCADseite PYTHON.
Mit Grusz Werner
Aha! Das starten eines DOS CMD Fensters ist also nur der zarte Anfang einer "Schnittstelle" zwischen zwei CAD Systemen.
Reichlich sportlich, diese Aufgabe.
Als einer der Entwickler von Modeling (SolidDesigner) kann ich noch ein paar Tips zu Schnittstellen geben.
Modeling hat folgenden Schnittstellen:
- DDE (damit können Kommandos geschickt werden - entspricht der Eingabe in die Kommando-Zeile)
- Interlink (proprietär - darüber kommunizieren Modeling und Model Manager)
- COM
Allerdings gelten diese Informationen alle für den "richtigen" Modeling - ob die im Express alle drin sind kann ich spontan nicht sagen.
Ich würde es mal mit DDE versuchen, das ist am einfachsten.
Ähem, und dann gibt es natürlich Millionen Möglichkeiten von Streams, Files etc. im Standard LISP, um "Kommunikation" mit dem Modeling zu betreiben.
Aber für einen Hobby-Bastler natürlich immer noch sportlich.
Hallo Max,
sportlich ist von Dir noch lieb und nett gemeint.
Was ich da so treibe ist mehr ein Stolpern und Wursteln
und keine sportlich Disziplin.
Da ich weder LISP noch PYTHON beherrsche und beileibe
nicht alle Funktionen beider Programme springe ich auf der
Suche nach meinen Lösungen zwischen beiden hin und her
um zum Ergebnis zu kommen.
Manchmal so blödsinnig, dass ich nach Tagen dann feststelle:
"Mensch in Express waren das nur 2 Klicks und jetzt hast du
3 Tage mit switchen gebraucht, wobei das Ergenis gegenüber
Express zweitklassig ist!".
Und zu Anderen bin ich manchmal buff, das ich die Lösung im Zusammenspiel
beider Programme finde.
CAD ist und bleibt einfach spannend!
Mit Grusz Werner