Возможно ли передать одну строку в качестве двух аргументов в Powershell?

#powershell

#powershell

Вопрос:

В Powershell возможно ли определить строку как $mystring=»param1 param2″, а затем передать эту строку вызову процесса

amp; c:usrbinmyprocess.exe «$mystring»

и интерпретировать ее как myprocess.exe param1 param2? где param1 и param2 являются отдельными аргументами

Комментарии:

1. Я думаю, это будет зависеть от того, как myprocess.exe анализирует ее аргументы.

2. Возможно, вы захотите проверить edgylogic.com/blog/powershell-and-external-commands-done-right , но я бы согласился с @mjolinor, что это будет в корне зависеть от того, как myexternalprocess.exe . Любая причина, по которой вы не определили бы свои параметры как массив, например, $mystring=@(«param1», «param2»), тогда просто используйте amp; c:usrbinmyprocess.exe $mystring

3. Интересно; Недавно я написал что-то очень похожее на это (включая сопутствующий исполняемый файл, чтобы действительно видеть аргументы).

Ответ №1:

Вы можете сделать это, если передадите array аргументов в Start-Process с -ArgumentList параметром; например:

 $argList = "param1","param2"
start-process myprocess.exe $argList