[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Ruby Equivalent to Python os.startfile ?

Rishel,Wes

7/6/2007 7:06:00 AM

In Windows cmd.exe, if I enter the name of a file with a Windows
extension, Windows will start the file as if I double clicked on it in
Windows explorer. E.g.

D:/Documents and Settings/WRishel/My Documents/DailyNotes>070701.doc
[Word starts and opens the file 070701.doc]

In Python I can achieve the same result by using

os.startfile("D:/Documents and Settings/WRishel/My
Documents/DailyNotes/070701.doc")

However I have not been able to find the equivalent method in Ruby.

Exec gives Errno::ENOEXEC: Exec format error

Any suggestions?

--
Posted via http://www.ruby-....

5 Answers

Bill Kelly

7/6/2007 7:16:00 AM

0

From: "Wesley Rishel" <wes.rishel@gartner.com>
>
> In Windows cmd.exe, if I enter the name of a file with a Windows
> extension, Windows will start the file as if I double clicked on it in
> Windows explorer. E.g.
>
> D:/Documents and Settings/WRishel/My Documents/DailyNotes>070701.doc
> [Word starts and opens the file 070701.doc]

Seems to work on XP:

system("start D:/Documents and Settings/WRishel/My Documents/DailyNotes/070701.doc")


Hope this helps,

Bill



Rishel,Wes

7/6/2007 4:31:00 PM

0

Bill -- thanks very helpful. At least on my XP system it takes two more
tweaks to make it work, or a tweak and a counter-tweak.

Tweak: For some reason, on my system, system() and exec() don't handle
the path with embedded spaces properly. I have to wrap the path in
double-quote marks.

Counter-tweak: The Windows command language, well known as a bastion of
inconsistency :-), treats the first parameter of a Start command
differently when it is enclosed in quotes. It becomes the title for the
Window.

This adaptation of your suggestion seems to work for me.

system('start "" "D:/Documents and Settings/WRishel/My
Documents/DailyNotes/070701.doc"')


Bill Kelly wrote:
> From: "Wesley Rishel" <wes.rishel@gartner.com>
>>
>> In Windows cmd.exe, if I enter the name of a file with a Windows
>> extension, Windows will start the file as if I double clicked on it in
>> Windows explorer. E.g.
>>
>> D:/Documents and Settings/WRishel/My Documents/DailyNotes>070701.doc
>> [Word starts and opens the file 070701.doc]
>
> Seems to work on XP:
>
> system("start D:/Documents and Settings/WRishel/My
> Documents/DailyNotes/070701.doc")
>
>
> Hope this helps,
>
> Bill


--
Posted via http://www.ruby-....

SonOfLilit

7/6/2007 6:33:00 PM

0

Does

system('start D:/Documents and Settings/WRishel/MyDocuments/DailyNotes/070701.doc')

work?

I think I've seen this use, though rethinking it doesn't make much sense now :S


Aur

On 7/6/07, Wesley Rishel <wes.rishel@gartner.com> wrote:
> Bill -- thanks very helpful. At least on my XP system it takes two more
> tweaks to make it work, or a tweak and a counter-tweak.
>
> Tweak: For some reason, on my system, system() and exec() don't handle
> the path with embedded spaces properly. I have to wrap the path in
> double-quote marks.
>
> Counter-tweak: The Windows command language, well known as a bastion of
> inconsistency :-), treats the first parameter of a Start command
> differently when it is enclosed in quotes. It becomes the title for the
> Window.
>
> This adaptation of your suggestion seems to work for me.
>
> system('start "" "D:/Documents and Settings/WRishel/My
> Documents/DailyNotes/070701.doc"')
>
>
> Bill Kelly wrote:
> > From: "Wesley Rishel" <wes.rishel@gartner.com>
> >>
> >> In Windows cmd.exe, if I enter the name of a file with a Windows
> >> extension, Windows will start the file as if I double clicked on it in
> >> Windows explorer. E.g.
> >>
> >> D:/Documents and Settings/WRishel/My Documents/DailyNotes>070701.doc
> >> [Word starts and opens the file 070701.doc]
> >
> > Seems to work on XP:
> >
> > system("start D:/Documents and Settings/WRishel/My
> > Documents/DailyNotes/070701.doc")
> >
> >
> > Hope this helps,
> >
> > Bill
>
>
> --
> Posted via http://www.ruby-....
>
>

Rishel,Wes

7/6/2007 6:59:00 PM

0

Thanks. I found that this approach needs a couple of tweaks:

Tweak: For some reason, on my system, system() and exec() don't handle
the path with embedded spaces properly. I have to wrap the path in
double-quote marks.

Counter-tweak: The Windows command language, well known as a bastion of
consistency :-), treats the first parameter of a Start command
differently when it is enclosed in quotes. It becomes the title for the
Window.

This adaptation of your suggestion seems to work for me.

system('start "" "D:/Documents and Settings/WRishel/My
Documents/DailyNotes/070701.doc"')


-----Original Message-----
From: SonOfLilit [mailto:sonoflilit@gmail.com]
Sent: Friday, July 06, 2007 11:33 AM
To: ruby-talk ML
Subject: Re: Ruby Equivalent to Python os.startfile ?

Does

system('start D:/Documents and Settings/WRishel/MyDocuments/DailyNotes/070701.doc')

work?

I think I've seen this use, though rethinking it doesn't make much sense
now :S


Aur

On 7/6/07, Wesley Rishel <wes.rishel@gartner.com> wrote:
> Bill -- thanks very helpful. At least on my XP system it takes two
more
> tweaks to make it work, or a tweak and a counter-tweak.
>
> Tweak: For some reason, on my system, system() and exec() don't handle
> the path with embedded spaces properly. I have to wrap the path in
> double-quote marks.
>
> Counter-tweak: The Windows command language, well known as a bastion
of
> inconsistency :-), treats the first parameter of a Start command
> differently when it is enclosed in quotes. It becomes the title for
the
> Window.
>
> This adaptation of your suggestion seems to work for me.
>
> system('start "" "D:/Documents and Settings/WRishel/My
> Documents/DailyNotes/070701.doc"')
>
>
> Bill Kelly wrote:
> > From: "Wesley Rishel" <wes.rishel@gartner.com>
> >>
> >> In Windows cmd.exe, if I enter the name of a file with a Windows
> >> extension, Windows will start the file as if I double clicked on it
in
> >> Windows explorer. E.g.
> >>
> >> D:/Documents and Settings/WRishel/My
Documents/DailyNotes>070701.doc
> >> [Word starts and opens the file 070701.doc]
> >
> > Seems to work on XP:
> >
> > system("start D:/Documents and Settings/WRishel/My
> > Documents/DailyNotes/070701.doc")
> >
> >
> > Hope this helps,
> >
> > Bill
>
>
> --
> Posted via http://www.ruby-....
>
>

This e-mail message, including any attachments, is for the sole use of the person to whom it has been sent, and may contain information that is confidential or legally protected. If you are not the intended recipient or have received this message in error, you are not authorized to copy, distribute, or otherwise use this message or its attachments. Please notify the sender immediately by return e-mail and permanently delete this message and any attachments. Gartner makes no warranty that this e-mail is error or virus free.

jazzyJack

9/2/2012 1:45:00 PM

0

I anticipated a cynical response, but I hoped that my anticipation was unwarranted. Oh well, I gave it a try.