Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
(rdb:2) File::exists?( IMAGEMAGICK_EXE_PATH )
false
What's the right way to test if a file name which has a blank in it exists?
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
(rdb:2) File::exists?( IMAGEMAGICK_EXE_PATH )
false
What's the right way to test if a file name which has a blank in it exists?
The issue isn't so much that you have a blank in it as that you've added an extra set of quotes -- in the example above, your filename has double quotes at the beginning and end. Drop the double quotes and it should work fine, assuming the path is correct.
Matt
On Tue, 12 Jan 2010, Ralph Shnelvar wrote:
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
Well, probably to NOT put the quotes into the filename.
IMAGEMAGICK_EXE_PATH = 'f:\\Program Files\\ImageMagick-6.5.8-Q16\\convert.exe'
or
IMAGEMAGICK_EXE_PATH = 'f:/Program Files/ImageMagick-6.5.8-Q16/convert.exe'
(yes, Ruby's File class will work just fine with / as the directory separator even on Windows.)
-Rob
Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
On Jan 11, 2010, at 1:30 PM, Ralph Shnelvar wrote:
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
(rdb:2) File::exists?( IMAGEMAGICK_EXE_PATH )
falseWhat's the right way to test if a file name which has a blank in it exists?
For double quotes: use double backlashes:
"F:\\Program Files\\ImageMagick..."
For single quotes, it can work as is.
I recommendation also is ensure all the paths are expanded with
File.expand_path, which is going to ensure forward slashes are used
instead.
On Jan 11, 3:30 pm, Ralph Shnelvar <ral...@dos32.com> wrote:
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
(rdb:2) File::exists?( IMAGEMAGICK_EXE_PATH )
falseWhat's the right way to test if a file name which has a blank in it exists?
--
Luis Lavena
Matthew K. Williams wrote:
On Tue, 12 Jan 2010, Ralph Shnelvar wrote:
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
The issue isn't so much that you have a blank in it as that you've added
an extra set of quotes -- in the example above, your filename has double
quotes at the beginning and end. Drop the double quotes and it should
work fine, assuming the path is correct.Matt
Isn't a Windows pathname with surrounding double quotes a valid
pathname?!?!?
What's the best Ruby-esque way to stip out surrounding double quotes if
they exist?
And ,yes, your example and Rob Biedenharn's example both work.
Thank you to both.
--
Posted via http://www.ruby-forum.com/\.
Matthew K. Williams wrote:
Newbie here/
Consider
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-Q16\convert.exe"'
The issue isn't so much that you have a blank in it as that you've added
an extra set of quotes -- in the example above, your filename has double
quotes at the beginning and end. Drop the double quotes and it should
work fine, assuming the path is correct.Matt
Isn't a Windows pathname with surrounding double quotes a valid
pathname?!?!?What's the best Ruby-esque way to stip out surrounding double quotes if
they exist?And ,yes, your example and Rob Biedenharn's example both work.
Thank you to both.
Well, perhaps you're thinking of the quotes that are needed/used to supply a path containing spaces to a command-line program.
In any case, you could remove quotes with:
def unquote(string)
string.sub(/\A(['"])(.*)\1\z/, '\2')
end
unquote(IMAGEMAGICK_EXE_PATH)
IMAGEMAGICK_EXE_PATH = '"f:\Program Files\ImageMagick-6.5.8-
Q16\convert.exe"'
=> "\"f:\\Program Files\\ImageMagick-6.5.8-Q16\\convert.exe\""
Note that the canonical representation of the string makes the included double-quotes obvious.
def unquote(string)
string.sub(/\A(['"])(.*)\1\z/, '\2')
end
=> nil
unquote(IMAGEMAGICK_EXE_PATH)
=> "f:\\Program Files\\ImageMagick-6.5.8-Q16\\convert.exe"
Compare this result to the value of IMAGEMAGICK_EXE_PATH itself above.
unquote(unquote(IMAGEMAGICK_EXE_PATH))
=> "f:\\Program Files\\ImageMagick-6.5.8-Q16\\convert.exe"
And this is save against a path without quotes, too.
-Rob
Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com
On Jan 11, 2010, at 2:50 PM, Ralph Shnelvar wrote:
On Tue, 12 Jan 2010, Ralph Shnelvar wrote:
Ralph Shnelvar wrote:
Isn't a Windows pathname with surrounding double quotes a valid
pathname?!?!?
The quotes are not part of the file-name.
When one enters
type "foo bar"
at the DOS-prompt, the quotes serve to indicate that there
is one file named
foo bar
and not two files named
foo
and
bar
If you enter
dir foo*
you will see
foo bar
not
"foo bar"
The quotes are not part of the file-name.
--
W. James wrote:
Ralph Shnelvar wrote:
Isn't a Windows pathname with surrounding double quotes a valid
pathname?!?!?
...
If you enter
dir foo*
you will see
foo bar
not
"foo bar"The quotes are not part of the filename.
Yes, you are quite right
--
Posted via http://www.ruby-forum.com/\.