von der Kommandozeile in die DOS-Shell, wie? / PTC Creo Elements/Direct Modeling
wega 03. Jul. 2016, 09:08

Hallo zusammen,

über den Windows-Startbutton - Ausführen -cmd
kommt man auf die DOS-Shell.
Wie aber lautet der Befehl für die Kommandozeile
innerhalb von Creo direct/elements modeling express
um aus Creo heraus auf die DOS-Shel zu kommen?

Mit freundlichem Gruß
Werner

scoubie 03. Jul. 2016, 11:19

Servus Werner,

ich benutze Creo nicht, aber mit Hilfe einer Suchmaschine bin ich auf folgende Seite gelangt: klick

Vielleicht hilft Dir das ja weiter.

wega 03. Jul. 2016, 18:30

Hallo Martin,

Danke für Deine Antwort.
Geht in die gleiche Richtung, funktioniert
aber irgendwie unter Express nicht.

Mit freundlichem Gruß
Werner

Walter Geppert 03. Jul. 2016, 18:48


command.jpg

 
Der Beitrag im verlinkten Forum bezieht sich auf Creo, den Nachfolger von Pro/E.
In Creo Elements Direct Modeling (vulgo SolidDesigner) gibts in der Hilfe zum Integration-Kit hinweise, siehe Screenshot.
Die hirnrissige Idee, zwei gänzlich verschiedene CAD-Programme so ähnlich zu nennen, führt immer wieder zu Verwirrungen 

wega 04. Jul. 2016, 09:28

Vielen Dank für die Antwort und den
entsprechenden Hinweis.

Dennoch funktioniert in Express 4.0
die Anweisung

(OLI:SD-SYS-EXEC "C:/windows/system32/cmd.exe")

in der Kommandozeile nicht.
Es kommt keine Fehlermeldung, ein DOS-Shell-Fenster
öffnet sich aber auch nicht.
Woran kann das liegen?

Mit freundlichem Gruß
Werner

Walter Geppert 04. Jul. 2016, 09:54


convert.jpg

 
Pfadangaben sind im SolidDesigner im UNIX-Format und müssen übersetzt werden, siehe Screenshot.
Mein Versuch, eine Shell mit der ?korrekten? Schreibweise aufzurufen, hat allerdings mit einer endlosen Sanduhr geendet, also Vorsicht

wega 04. Jul. 2016, 10:08

Ja, den Effekt mit der endlosen Sanduhr kenne ich,
nachdem ich die "\" bzw "/" Schreibweise berücksichtigt hatte.

Merkwürdig ist schon, dass man die windowsbasierten, also graphischen,
Programme mit dieser Anweisung aufrufen kann; die dosbasierten aber nicht.

Nun ja, man kann ja auch über den Windows-Start-Button und dann auf Ausführen
gehen, "cmd" eingeben und ausführen.

Mit freundlichem Gruß
Werner

clausb 05. Jul. 2016, 09:48

cmd.exe ist ein Kommandozeilenprogramm. Deswegen ist es völlig normal, dass ("grafisch") nichts passiert, wenn man "cmd.exe" als externes Programm ohne Parameter startet, zum Beispiel per sd-sys-exec. Dann wartet cmd.exe nämlich einfach im Hintergrund auf weitere Eingaben und tut sonst nichts. Deswegen sieht es dann so aus, als ob nach

Code:

(sd-sys-exec "cmd.exe")

nichts passiert und CoCreate Modeling "hängt". (Nebenbemerkung: Einen Pfad für cmd.exe anzugeben ist sowohl unnötig als auch fehlerträchtig. Unnötig, weil Windows von allein weiss, wo cmd.exe zu finden ist. Fehlerträchtig, weil der Pfad nicht auf jedem Rechner gleich ist.)

Will man cmd.exe in einem eigenen Terminalfenster (landläufig "DOS-Fenster" oder "command shell" oder "command prompt") starten, kann man das so erreichen:

Code:

(sd-sys-exec "start cmd.exe")

Siehe auch http://ss64.com/nt/start.html

Dass ein Terminalfenster erscheint, wenn man cmd.exe aus Windows Explorer heraus startet, liegt daran, dass Explorer entsprechend vorkonfiguriert ist - intern wird dann letztlich nicht einfach nur cmd.exe ausgeführt, sondern auch so etwas wie "start cmd.exe".


wega 05. Jul. 2016, 11:54

Hallo Clausb,

super Antwort, hat wunderbar funktioniert.

Gruß
Werner

clausb 05. Jul. 2016, 21:05

Prima. Jetzt auch in leicht erweiterter Blogartikel-Form verfügbar:

http://www.clausbrod.de/Blog/DefinePrivatePublic20160705

Patrick Weber 23. Sep. 2016, 11:03

Nur zwei kleine Anmerkungen meinerseits:
Der verwendete Kommandozeilen-Interpreter wird mit der systemweiten Umgebungsvariablen %comspec% angesprochen.
(sd-sys-background-job (format nil "start ~a" (sd-convert-filename-to-platform (sd-sys-getenv "comspec"))))

"start" ohne Parameter öffnet selbstständig eine Eingabekonsole im aktuellen Arbeitsverzeichnis. cmd zu verwenden, ist also nicht notwendig..
(sd-sys-background-job "start")