2

我有一个名为的二进制可执行文件ruby.exe位于

C://test//ruby.exe

如何使用 powershell 脚本将其设置为 cmdlet,以便在我的 powershell 脚本中直接运行 ruby​​?

4

2 回答 2

2

您可以将其添加到 PATH 变量中。然后直接用 Ruby.exe 调用 with:

$path = [Environment]::GetEnvironmentVariable("Path")
$path = $path + ";"C:\Test\Ruby"
[Environment]::SetEnvironmentVariable("Path", $path, [System.EnvironmentVariableTarget]::Machine )
$env:path = $env:path + "C:\test\ruby"
于 2013-02-19T10:52:02.503 回答
0

我相信你在“喷溅”之后。神奇之处在于使用 @ 运算符,它将参数列表(或参数字典)传递给底层命令。$psBoundParameters 包含在 splatting 中传递的魔法数据。

function Invoke-Ruby(
    [Parameter(ValueFromRemainingArgumnets=$True)][string[]]$Arguments
) { 
    c:\Test\Ruby.exe @Arguments
}

要阅读有关 Splatting 的更多信息,请查看关于嘿,脚本专家的这篇文章

而且,您可能不想尝试在 PowerShell 中利用 ruby​​,而只是尝试将 PowerShell 用作 Web 框架(PowerShell Pipeworks

于 2013-02-19T10:49:10.560 回答