我有一个名为ruby.exe
二进制可执行文件位于如何使用Powershell脚本将我的二进制可执行文件制作为PS中的cmdlet?
C://test//ruby.exe
我如何使用PowerShell脚本,使得我的PowerShell脚本,我可以直接运行Ruby使其作为cmdlet的?
我有一个名为ruby.exe
二进制可执行文件位于如何使用Powershell脚本将我的二进制可执行文件制作为PS中的cmdlet?
C://test//ruby.exe
我如何使用PowerShell脚本,使得我的PowerShell脚本,我可以直接运行Ruby使其作为cmdlet的?
您可以将其添加到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"
我相信你是在“Splatting”之后。魔术在于使用@运算符,它会将参数列表(或参数字典)传递给基础命令。 $ psBoundParameters包含在splatting中传递的魔法数据。
function Invoke-Ruby(
[Parameter(ValueFromRemainingArgumnets=$True)][string[]]$Arguments
) {
c:\Test\Ruby.exe @Arguments
}
想了解更多关于泼洒,看看这个文章Hey, Scripting Guy
而且,而不是试图利用PowerShell中的红宝石,你可能只想尝试使用PowerShell作为一个Web框架(PowerShell Pipeworks)
这是件好事,但PowerShell中的同一会话下不会调用... – 2013-02-19 11:01:35
$ ENV:PATH = $ ENV:路径+ “C:\测试\红宝石” 这将使您可以在同一会话中使用它,但它不会在其他会话中持续存在,因此您必须在答案中使用该方法才能使其保持 – 2013-02-19 11:09:30