Я пытаюсь запустить завиток как процесс и захватить вывод из окна команд. Я пробовал работать как curl напрямую, как процесс, а также запускал cmd, а затем записывал команды в командную строку. Однако вывод из curl сам не возвращается (включен режим verbose), хотя иногда я получаю то, что выглядит как проблема с кодировкой, например. ÈÆŸ.Ошибка регистрации stdout из curl с .net (C#)
Если у кого-нибудь есть вдохновение, я был бы вам признателен!
private static bool ExecuteCurl(string curlDirectory, string curlArgs, string filePath)
{
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.RedirectStandardError = true;
process.Start();
StreamWriter sw = process.StandardInput;
StreamReader sr = process.StandardOutput;
sw.WriteLine("cd " + curlDirectory);
sw.WriteLine("curl " + curlArgs + " -F [email protected]" + filePath);
sw.WriteLine("exit");
sw.Close();
string cURLResults = string.Empty;
cURLResults = sr.ReadToEnd();
sr.Close();
sw = new StreamWriter("C:\\out.txt", true);
sw.WriteLine(cURLResults);
sw.Close();
return false;
}
Microsoft Windows XP [Версия 5.1.2600 ] (C) Copyright 1985-2001 Microsoft Corp.
C: \ Dev \ VS \ Bin> CD C: \ Curl \
C: \ завиток> завиток -v -u -k ххххх: ххххххх SFTP: //ftp.xxxx.co.uk -F файл = @ C: \ mydoc.txt
C: \ завиток> выход
Работал, спасибо большое! – 2010-03-08 09:48:31