Edit
Attach
Printable
topic end
<!-- * Set TOPICTITLE = <nop>CoCreate Modeling: Wie startet man ein interaktives cmd.exe? (05 Jul 2016) - #define private public --> <style type="text/css"> pre {background-color:#ffeecc;} </style> %STARTINCLUDE% <a name="05"></a> ---+++ [[DefinePrivatePublic20160705][<nop>CoCreate Modeling: Wie startet man ein interaktives <tt>cmd.exe</tt>?]] (05 Jul 2016) <summary> <a href="http://forum.cad.de/foren/ubb/Forum29/HTML/004507.shtml">Ganz frisch aus dem Kundenforum</a> für !CoCreate Modeling (aka PTC Creo Elements/Direct Modeling): Wie startet man aus !CoCreate Modeling heraus programmatisch eine interaktive Instanz von <tt>cmd.exe</tt>, also ein <tt>cmd.exe</tt> mitsamt DOS-Prompt-Fenster? </summary> Es liegt nahe, das zunächst mit <pre> (oli:sd-sys-exec "cmd.exe") </pre> zu versuchen. Das führt dann aber dazu, dass !CoCreate Modeling scheinbar hängt und nichts Erkennbares passiert. <tt>cmd.exe</tt> ist ein Kommandozeilenprogramm. Deswegen ist es völlig normal, dass ("grafisch") nichts passiert, wenn man <tt>cmd.exe</tt> als externes Programm ohne Parameter startet, zum Beispiel per <tt>sd-sys-exec</tt>. Dann wartet <tt>cmd.exe</tt> nämlich einfach im Hintergrund auf weitere Eingaben und tut sonst nichts. <div style="float:right;"><img src="%ATTACHURLPATH%/ScreenShot2016-07-05at20.43.17.png" alt="ScreenShot2016-07-05at20.43.17.png" width="400" /></div> Will man <tt>cmd.exe</tt> in einem eigenen Terminalfenster (landläufig "DOS-Fenster" oder "command shell" oder "command prompt") starten und interaktiv laufen lassen, kann man das so erreichen: <pre> (oli:sd-sys-exec "start cmd.exe") </pre> (Zu den Kommandozeilenparametern und Besonderheiten des Helferleins =start= siehe http://ss64.com/nt/start.html.) Bonusfrage: Wenn =cmd.exe= ein Kommandozeilenprogramm ohne grafische Oberfläche ist, wieso öffnet sich denn ein Terminalfenster, wenn man =cmd.exe= aus Windows Explorer heraus startet? Antwort: Weil Explorer entsprechend vorkonfiguriert ist - intern wird in so einem Fall nicht einfach nur =cmd.exe= ausgeführt, sondern das moralische Äquivalent zu =start cmd.exe=. Bonusfrage 2: Woher weiss Windows eigentlich, wo =cmd.exe= liegt? Muss man da nicht einen Pfad wie =C:\Windows\System32\cmd.exe= angeben? Hintergrund: In der Forumsfrage wurde ein solcher hartkodierter Pfad verwendet. Antwort: Das Verzeichnis, in dem =cmd.exe= liegt, taucht im Inhalt der Umgebungsvariablen =PATH= auf, die Windows beim Starten von Programmen konsultiert. Damit ist die explizite Angabe eines Pfades unnötig. Mehr noch, sie ist sogar kontraproduktiv und fehlerträchtig - denn nicht auf jedem Rechner liegt das Windows-Verzeichnis unter =C:\Windows=. Bonusfrage 3: Wozu ist das eigentlich gut, so eine interaktive Instanz von =cmd.exe= aus einer CAD-Applikation heraus zu starten? Kopfkratzende erste Antwort: Für sachdienliche Hinweise dankbar :-D Zweite Antwort nach Eintreffen der angeforderten sachdienlichen Hinweise: Ziel war es offenbar letztlich, ein kleines interaktives Kommandozeilenprogramm zu starten - der Start von =cmd.exe= war nur erster Test dafür. --- %STOPINCLUDE% %COMMENT{type="below" nonotify="on"}% ---
to top
End of topic
Skip to action links
|
Back to top
Edit
|
Attach image or document
|
Printable version
|
Raw text
|
Refresh
|
More topic actions
Revisions: | r1.2 |
>
|
r1.1
|
Total page history
|
Backlinks
You are here:
Blog
>
DefinePrivatePublic20160705
r1.2 - 05 Jul 2016 - 19:02 -
ClausBrod
to top
Blog
This site
2017
:
12
-
11
-
10
2016
:
10
-
7
-
3
2015
:
11
-
10
-
9
-
4
-
1
2014
:
5
2013
:
9
-
8
-
7
-
6
-
5
2012
:
2
-
10
2011
:
1
-
8
-
9
-
10
-
12
2010
:
11
-
10
-
9
-
4
2009
:
11
-
9
-
8
-
7
-
6
-
5
-
4
-
3
2008
:
5
-
4
-
3
-
1
2007:
12
-
8
-
7
-
6
-
5
-
4
-
3
-
1
2006:
4
-
3
-
2
-
1
2005:
12
-
6
-
5
-
4
2004:
12
-
11
-
10
C++
CoCreate Modeling
COM & .NET
Java
Mac
Lisp
OpenSource
Scripting
Windows
Stuff
Changes
Index
Search
Maintenance
Impressum
Datenschutzerklärung
Home
Webs
Atari
Blog
Claus
CoCreateModeling
Klassentreffen
Main
Sandbox
Sommelier
TWiki
Xplm
Jump:
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback