My demo.rb:
puts ARGV.size
ARGV.each do |a|
puts \"Argument: #{a}\"
end
The result depends on how we run a script:
>
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.
Open a command window:
assoc .rb
is it rbFile?
ftype rbFile
Make sure that Ruby.exe is followed by "%1" %*
the %* is sometimes missing.
Sounds like the arguments are not passed on to the ruby interpreter, in your association of the filetype. See this section for how the association should look, and verify yours.
You can use a freeware tool from Nirsoft - FileTypesManager - to add the missing %*
as mentioned in the other posts.
C:\Temp> ftype | grep ruby rbFile="c:\opt\ruby\bin\ruby.exe" "%1" %* rbwFile="c:\opt\ruby\bin\rubyw.exe" "%1" %*