如何仅通过脚本名称在命令行中启动 Ruby 脚本?

22

在Windows上,我可以这样运行我的Ruby脚本:

> ruby myscript.rb

但是我想设置这样的东西,以便我可以直接执行此操作?..

> myscript.rb

我该怎么做?我知道这是可能的,因为我最近从一个有这个设置的电脑移动到了一个没有这个设置的新电脑上(尚未安装)。

3个回答

27

将".rb"文件扩展名与ruby解释器关联起来。 在Windows XP中,一种方法是在文件浏览器中选择"工具|文件夹选项",并在"文件类型"选项卡中设置关联。

另一种方法是在命令行上输入以下内容,这将为您创建此文件关联:

assoc .rb=RubyScript
ftype RubyScript=ruby.exe %1 %*

1
如果这个有效,我会听他的而不是我自己,因为他似乎知道自己在说什么 :) - theIV
1
这真是显而易见的。(拍打自己的脸) - izb
对我来说,由于某些原因,这并没有起作用。我不得不手动将其编辑到注册表中的HKEY_CLASSES_ROOT\Applications\ruby.exe\shell\open\command。 - Tatu Lahtela
1
这对我有用,在以管理员身份运行命令后。谢谢! - staafl

11

阅读维基百科Ruby页面底部的部分。

Windows

如果您使用Ruby One-Click Installer安装本机Windows版本的Ruby,则安装程序已经设置Windows自动将您的Ruby脚本识别为可执行文件。只需输入脚本名称即可运行它。

$ hello-world.rb
Hello world

如果这不起作用,或者你以其他方式安装了Ruby,按照以下步骤操作。

1. 以管理员身份登录。
2. 运行标准的Windows“命令提示符”cmd。
3. 在命令提示符(即shell提示符)下运行以下Windows命令。运行 ftype 命令时,请更改命令行参数以正确指向计算机上安装的 ruby.exe 可执行文件的位置。

$ assoc .rb=RubyScript
.rb=RubyScript

$ ftype RubyScript="c:\ruby\bin\ruby.exe" "%1" %*
RubyScript="c:\ruby\bin\ruby.exe" "%1" %*

要获取更多有关这些命令的帮助,请运行“help assoc”和“help ftype”。


1
一点复制/粘贴不会伤害你,但这正是我正在寻找的。谢谢。;-) - lyonsinbeta

1

在Windows 10上,命令行解决方案都没有对我起作用。之前我使用Windows GUI打开.rb文件并使用Notepad++编辑。当我运行时

script.rb

在命令行中,它只是打开了带有.rb文件的记事本++(即使在命令行修复后)。
解决我的问题的方法是:
  1. 右键单击.rb文件
  2. 点击“打开方式”
  3. 点击“选择其他应用程序”
  4. 点击“更多应用程序”
  5. 点击“在此计算机上查找其他应用程序”
  6. 从我的ruby安装中打开ruby.exe解释器。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接