Opening a file having white spaces on is name with the default program

Hello,

In my rails application, I have a file which name is: “d:/Copy of
t.txt”.

I want to open it with the default program.

This file is a TXT file but it can be another kind of file (png, pdf,
etc) and can have, or not, white spaces on his path/name.

I’ve tried several ways to do it but, until now, I was not able to
accomplish by goal.

I have tried:

f1 = “d:/Copy of t.txt”

#system %{cmd /c “start #{f1}”}
#cmd = ‘cmd /c “start ’ + f1 + '”’
#cmd = ‘cmd /c “”“start ’ + f1 + '”""’
#cmd = “cmd /c ““start '” + f1 + “’”””
cmd = “cmd /c ““start '” + f1 + “’”””

system (cmd)

But no one of these solutions has worked.

Anyone can help me?

Thank you

Best regards

I don’t use windows, but you could try escaping the space “foo\ bar”


Oscar Del B.
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

Hello,

Thanks for your answer. However, still not working…

f1 = “d:/Copy of t.txt”
f1 = f1.gsub(" ", "\ ")

#system %{cmd /c “start #{f1}”}
#cmd = ‘cmd /c “start ’ + f1 + '”’
#cmd = ‘cmd /c “”“start ’ + f1 + '”“”’
#cmd = “cmd /c ““start '” + f1 + “'”””
cmd = “cmd /c ““start '” + f1 + “'”””

system (cmd)

Oscar Del B. wrote in post #1064217:

I don’t use windows, but you could try escaping the space “foo\ bar”


Oscar Del B.
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

For a Microsoft DOS file name it is wrong. It should be “d:\Copy of
t.txt”. Your problem could simply be the escaping of the backslash. As
you have shown it in rails, you would be escaping the C character.

On 12 June 2012 14:49, Paulo C. [email protected] wrote:

I’ve tried several ways to do it but, until now, I was not able to
cmd = “cmd /c ““start '” + f1 + “'”””

system (cmd)

But no one of these solutions has worked.

Have you tried inserting
puts cmd
then copying and pasting the output into the terminal to see if that
works?

Colin

Hello,

Thanks for your answer.

I have made a put of the command

f1 = “d:/sat - Copy.png”
f1 = f1.gsub(" ", "\ ")
cmd = ‘cmd /c “start ’ + f1 + '”’
puts "CMD: " + cmd
system (cmd)

…and the result is the following one:

cmd /c “start d:/sat - Copy.png”

In attachment, I’ve putted a picture with the error.

Thanks

Regards

Colin L. wrote in post #1064223:

On 12 June 2012 14:49, Paulo C. [email protected] wrote:

I’ve tried several ways to do it but, until now, I was not able to
cmd = “cmd /c ““start '” + f1 + “'”””

system (cmd)

But no one of these solutions has worked.

Have you tried inserting
puts cmd
then copying and pasting the output into the terminal to see if that
works?

Colin

On 13 June 2012 09:05, Paulo C. [email protected] wrote:

Hello,

Please don’t top post, it makes it difficult to follow the thread.
Insert your reply inline in previous post. Thanks

…and the result is the following one:

cmd /c “start d:/sat - Copy.png”

Exactly what command are you trying to execute?

Colin