我有一个名为的二进制可执行文件ruby.exe
位于
C://test//ruby.exe
如何使用 powershell 脚本将其设置为 cmdlet,以便在我的 powershell 脚本中直接运行 ruby?
我有一个名为的二进制可执行文件ruby.exe
位于
C://test//ruby.exe
如何使用 powershell 脚本将其设置为 cmdlet,以便在我的 powershell 脚本中直接运行 ruby?
您可以将其添加到 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"
我相信你在“喷溅”之后。神奇之处在于使用 @ 运算符,它将参数列表(或参数字典)传递给底层命令。$psBoundParameters 包含在 splatting 中传递的魔法数据。
function Invoke-Ruby(
[Parameter(ValueFromRemainingArgumnets=$True)][string[]]$Arguments
) {
c:\Test\Ruby.exe @Arguments
}
要阅读有关 Splatting 的更多信息,请查看关于嘿,脚本专家的这篇文章
而且,您可能不想尝试在 PowerShell 中利用 ruby,而只是尝试将 PowerShell 用作 Web 框架(PowerShell Pipeworks)