Передача аргументов в скрипт оболочки из процесса C # - PullRequest
1 голос
/ 13 июня 2011

У меня проблема со многими днями.

Я подключаюсь к linux box и хочу запустить несколько скриптов и собрать сгенерированный файл.

Шаги 1) подключить 2) запустить несколько скриптов (которые являются интерактивными и нуждаются во входных данных в какой-то момент) 3) получить файл, сгенерированный в результате.

1) Я подключаюсь к linux box через plink.exe (версия putty.exe для командной строки), этот шаг выполнен успешно.

2) Я могу запускать сценарии, но когда сценарии запускаются, он ожидает некоторого ввода, я не могу понять, как передать эти входные данные в сценарий. происходит зависание программы, поскольку сценарии не завершаются.

Эти входы являются фиксированными и варьируются между определенными значениями, я могу жестко запрограммировать эти значения в приложении / программе.

Пожалуйста, помогите мне в этом. заранее спасибо -Akash

1 Ответ

1 голос
/ 13 июня 2011

Вы можете использовать этот код

ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = "YourFile.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "";//Arguments should be here
using (Process exeProcess = Process.Start(startInfo))
{
    exeProcess.WaitForExit();
}

вы можете использовать exeProcess.StandardOutput.ReadToEnd (); для получения результатов

...