Как передать аргумент, включая , из C# в powershell.exe ⇐ 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()
Я хочу запустить процесс на 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()
Мобильная версия