Вызовите ruby ​​script из powershell

У меня следующая ситуация: powershell script с этими переменными:

$RUBY = "C:\installing\ruby\bin\ruby.exe"
$ARGS = "C:\files\sript.rb $Arg1 $Arg2 $Arg3"

в пакетном файле я могу написать

%RUBY% %ARGS% 

и он работает.

но как я могу это сделать в powershell?

Важно, чтобы путь установки ruby ​​был переменным.

Я попробовал его с помощью Start-Process, но только ruby.exe был запущен без script.

Любые подсказки?

Спасибо.

Ответ 1

Во-первых, $args является автоматической переменной, управляемой PowerShell, поэтому я бы не стал пытаться объявить вашу собственную переменную с тем же именем.

Чтобы вызвать команду, хранящуюся в переменной из PowerShell, вы можете использовать оператор вызова &:

& $ruby 'script.rb'

Если вам нужно создать список аргументов, я бы рекомендовал создать массив, а не объединять их все вместе в одну строку:

$rubyArgs = @('C:\files\script.rb', $Arg1, $Arg2, $Arg3)
& $ruby $rubyArgs

Если вам нужно передать более сложные аргументы, вы можете найти этот ответ полезным.