Как передать аргумент, включая , из C# в powershell.exeC#

Место общения программистов C#
Ответить
Гость
 Как передать аргумент, включая , из C# в powershell.exe

Сообщение Гость »


Я хочу запустить процесс на C#, который заставит PowerShell запустить другую программу, для которой требуется такой параметр, как: «M=a b». Я пробовал различные форматы строк, но безрезультатно. В PowerShell прекрасно работает следующее:

Start-Process -FilePath 'C:\MY.exe' -ArgumentList 'A','"M=a b"' В C# следующее не работает должным образом (My.exe выдает: «M=a» не найдено.)

string arg = @"Start-Process -FilePath 'C:\MY.exe' -ArgumentList 'A','""M=a b""'"; psTry("powershell.exe", arg) static void psTry (строковый файл, строковый аргумент) { Процесс процесса = новый процесс(); процесс.StartInfo.FileName = файл; процесс.StartInfo.Аргументы = arg; процесс.Начать(); } Я пробовал различные комбинации 's и 's как в PowerShell, так и в C#. Я пробовал такие вещи, как
arg = @"...".ToString() + @"'""M=a b""'".ToString()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»