Ответ 1
Во-первых, $args
является автоматической переменной, управляемой PowerShell, поэтому я бы не стал пытаться объявить вашу собственную переменную с тем же именем.
Чтобы вызвать команду, хранящуюся в переменной из PowerShell, вы можете использовать оператор вызова &
:
& $ruby 'script.rb'
Если вам нужно создать список аргументов, я бы рекомендовал создать массив, а не объединять их все вместе в одну строку:
$rubyArgs = @('C:\files\script.rb', $Arg1, $Arg2, $Arg3)
& $ruby $rubyArgs
Если вам нужно передать более сложные аргументы, вы можете найти этот ответ полезным.