我有一个名为ruby.exe
的二进制可执行文件,位于
C://test//ruby.exe
如何使用powershell脚本将其设为cmdlet,以便在我的powershell脚本中,我可以直接运行ruby?
答案 0 :(得分:2)
您可以将其添加到PATH变量中。然后用Ruby.exe直接调用:
$path = [Environment]::GetEnvironmentVariable("Path")
$path = $path + ";"C:\Test\Ruby"
[Environment]::SetEnvironmentVariable("Path", $path, [System.EnvironmentVariableTarget]::Machine )
$env:path = $env:path + "C:\test\ruby"
答案 1 :(得分:0)
我相信你是在“Splatting”之后。神奇之处在于使用@运算符,它将参数列表(或参数字典)传递给基础命令。 $ psBoundParameters包含在splatting中传递的魔法数据。
function Invoke-Ruby(
[Parameter(ValueFromRemainingArgumnets=$True)][string[]]$Arguments
) {
c:\Test\Ruby.exe @Arguments
}
要了解有关Splatting的更多信息,请查看Hey, Scripting Guy
上的这篇文章而且,您可能只想尝试将PowerShell用作Web框架(PowerShell Pipeworks)
,而不是尝试在PowerShell中使用ruby。