从 powershell 调用 ruby​​ 脚本

ehm*_*key 5 ruby powershell

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

$RUBY = "C:\installing\ruby\bin\ruby.exe"
$ARGS = "C:\files\sript.rb $Arg1 $Arg2 $Arg3"
Run Code Online (Sandbox Code Playgroud)

在批处理文件中我可以写

%RUBY% %ARGS% 
Run Code Online (Sandbox Code Playgroud)

它有效。

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

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

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

有什么提示吗?

谢谢。

Emp*_*LII 4

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

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

& $ruby 'script.rb'
Run Code Online (Sandbox Code Playgroud)

如果您需要构建参数列表,我建议创建一个数组,而不是将它们全部混合到一个字符串中:

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

如果您需要传递更复杂的参数,您可能会发现这个答案很有用。