From: Mohit Sindhwani Date: 2008-10-26T19:13:38+09:00 Subject: Re: How to invoke Windows program with a Ruby command RichardOnRails wrote: > Hi, > > I've got a command that works in the Command Window of WinXP-Pro/SP3: > > F:\Docume~1\AllUse~1\StartM~1\Programs\_Microsoft > \Micros~3\Micros~2.lnk > K:\_Projects\Ruby\_Rails_Apps\PayrollLoader\TestSheet.xls > > As I write this post, the command is written on two lines. But in > the Command Windows are submitted as a single line with a space > separating the program from the argument. The command brings up Excel > with the content from the file named in the program's argument. > > However, I have not been able to get this to work in Ruby with > system(pgm_name, file_name). The command does nothing. It doesn't > crash, as evidenced by the fact that following commands are executed > correctly. > > How can I achieve the Command Window result with Ruby 1.8.6? > Took me a while to get this working. Here's what works: #make sure that the name of the executable is within quotes exec_link = "\"c:\\Documents and Settings\\Mohit\\Start Menu\\Quick Start\\TextPad.lnk\"" #make sure that the document name is within quotes doc_name = "\"e:\\projects\\tedn01\\extract\\01.extract_styles.rb\"" #launch the 'link' using cmd my_exec = "cmd /C \"#{exec_link} #{doc_name}\" " puts my_exec ret = system(my_exec) puts ret Hope this helps. Cheers, Mohit. 10/26/2008 | 6:13 PM.