我有以下情况:带有以下变量的 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,没有脚本。
有什么提示吗?
谢谢。
首先,$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)
如果您需要传递更复杂的参数,您可能会发现这个答案很有用。
| 归档时间: |
|
| 查看次数: |
7301 次 |
| 最近记录: |