My demo.rb:
puts ARGV.size
ARGV.each do |a|
puts "Argument: #{a}"
end
The result depends on how we run a script:
> demo.rb foo bar
0
> ruby demo.rb foo bar
2
Argument: foo
Argument: bar
Why this happens? And can some thing be done with this?
EDIT: Thanks to all replies! Here my settings:
>assoc .rb
.rb=rbFile
>ftype rbFile
rbFile="c:\ruby-1.8.6\bin\ruby.exe" "%1" %*
So it looks right.
But I have discovered that
>demo.rb foo bar
starts process with such Command Line:
"C:\ruby-1.8.7\bin\ruby.exe" "c:\demo.rb"
Notice, that .rb associated with 1.8.6, but 1.8.7 is started.
So I guess some thing else is messed up?
Open a command window:
assoc .rb
is it rbFile?
ftype rbFile
Make sure that Ruby.exe is followed by "%1" %*
the %* is sometimes missing.
C:\Temp> ftype | grep ruby rbFile="c:\opt\ruby\bin\ruby.exe" "%1" %* rbwFile="c:\opt\ruby\bin\rubyw.exe" "%1" %*
Check the file association. Especially in the advanced settings look at the "Open" action. Make sure that there is a %* on the end of the action.
This question is about powershell, but it is essentially the same question so my answer there should give a little more detail.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With