Execute Program
Stefan_E
New Altair Community Member
Does the 'Execute Program' work? I enter a command such as 'cmd start dir' as a trial; RM would just hang in the 'Execute Program' operator, waiting until I kill it. This is on Windows-7.
Greetings Stefan
Greetings Stefan
Tagged:
0
Answers
-
Hi,
yes this behavior is correct. The RapidMiner operator waits until the called program is finished. Otherwise you cannot ensure that you can use the results of the executed command.
And if you just start cmd, this will open a shell which is only terminating when you type exit or close the window. To execute a shell command you have to use the parameters of cmd: "cmd /Q /C dir" for more information, please type cmd /help in a shell.
Greetings,
Sebastian0 -
Hmm...
the problem is that no shell opens - so there is nothing I could close ??? Same behavior btw., if I type "cmd /Q /C dir". The only remedy is to shoot down RM.
Stefan0 -
Hi,
I will verify that.
Greetings,
Sebastian0 -
Hi,
I can confirm this problem. We will trace it down as soon as possible. Don't know why this occurs only on Windows 7.
Greetings,
Sebastian0 -
Hi there, I am new to this forum, allthough I have been using Rapid Miner for a couple of weeks already. It's brilliant and I have never seen such a might open software package. Thank you for that........Sebastian Land wrote:
Hi,
I can confirm this problem. We will trace it down as soon as possible. Don't know why this occurs only on Windows 7.
Greetings,
Sebastian
My question ist: Does this problem just occur on Windows 7. I am using Vista and have the same problem as the person above that no shell at all opens when I use the cmd command on the excecute program operator.
What would be the excact syntax for the operator? Would it be "cmd" or 'cmd'? Please do not mind my stupid questions but I belong to the generation who are not really familiar with shells..........
0 -
Hi folks,
at least under windows 7, this is not a bug, it's a feature!
I can not talk about windows vista, but under windows 7 though the command is executed without opening a shell window.
For example if you execute
cmd /c java -version
you get the output in the log window:
Apr 22, 2010 9:14:49 AM INFO: Process starts
Apr 22, 2010 9:14:50 AM INFO: Execute Program: stderr:
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)
Apr 22, 2010 9:14:50 AM INFO: Execute Program: stdout:
Apr 22, 2010 9:14:50 AM INFO: Program exited succesfully.
Apr 22, 2010 9:14:50 AM INFO: Saving results.
Apr 22, 2010 9:14:50 AM INFO: Process finished successfully after 0 s
The instructions for windows users in the operator description were a little bit confusing and partly wrong. I just corrected it, so with the next update it will be correct.
@Manitou
Try this process here, does it work under vista?
It should print the java version in you log and open the notepad editor.
Ciao Sebastian
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.0">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" expanded="true" name="Process">
<process expanded="true" height="190" width="346">
<operator activated="true" class="execute_program" expanded="true" height="60" name="Execute Program" width="90" x="246" y="30">
<parameter key="command" value="cmd /c java -version"/>
</operator>
<operator activated="true" class="execute_program" expanded="true" height="60" name="Execute Program (2)" width="90" x="239" y="249">
<parameter key="command" value="cmd /c notepad"/>
</operator>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
</process>
</operator>
</process>
0 -
Hi Sebastia,
cheers, indeed it did open notepad as well told me in the log window of RM which Java version curretly is installed on my machine. So I can confirm that it that the things it is supposed to do under windows vista too.
Thanks.
0 -
Hey Everyone,
I would like to execute a command line program in windows 7 however my directory tree has spaces in it.
I have tried all versions of quotation of the command line and nothing seems to work. How do I send quote characters to the java interpreter?
Thanks,
-Gagi0 -
Hi gabi,
did you try
cmd /c C:\"Program Files"\"Internet Explorer"\iexplore.exe
?
Ciao Sebastian
Ps. For a process search for "Execute Program on Windows 7" in the MyExperiment" plugin,0 -
You know I did try that but for some reason it was not working. By random trial and error I got this to work. Looks like the " may be escaped but then not on the closing end of the folder name! I have no idea why this works.
Example Below (I'm running Windows 7 x64)
Start a program with 3 options and two file names. Notice the double backslash!? Why does this work?
cmd /c start program_name -a 1 -b 2 -c 3 C:\Users\gagi\Work\\"Folder Name"\Data\A.dat C:\Users\gagi\Work\\"Folder Name"\Data\B.dat
I'm glad it works but still have no idea why. Also adding a slash before the end quote makes it fail parsing.
-Gagi0