从powershell调用ruby脚本

时间:2012-08-08 12:42:08

标签: ruby powershell

我有以下情况: 带有以下变量的powershell脚本:

$RUBY = "C:\installing\ruby\bin\ruby.exe"
$ARGS = "C:\files\sript.rb $Arg1 $Arg2 $Arg3"

在批处理文件中我可以写

%RUBY% %ARGS% 

它有效。

但我怎么能在powershell中做到这一点?

重要的是ruby安装路径是可变的。

我尝试使用Start-Process但只启动了ruby.exe,没有脚本。

任何提示?

感谢。

1 个答案:

答案 0 :(得分:2)

首先,$args是由PowerShell管理的automatic variable,因此我会避免尝试使用相同的名称声明您自己的变量。

要从PowerShell调用存储在变量中的命令,可以使用call operator &

& $ruby 'script.rb'

如果你需要建立一个参数列表,我建议你创建一个数组,而不是将它们拼凑成一个单独的字符串:

$rubyArgs = @('C:\files\script.rb', $Arg1, $Arg2, $Arg3)
& $ruby $rubyArgs

如果您需要传递更复杂的参数,您可能会发现this answer有用。