в программировании и я пишу процесс, который предполагается открыть CMD строке выполнить командуПеренаправление вывода из Cmd строки
"/k nslookup 123.123.123.123;
А затем перенаправить стандартный вывод в строку, так что данные можно манипулировать. Я пробовал различные комбинации, но не могу заставить программу выводить что-либо, кроме моей последней строки «Нажмите любую клавишу, чтобы закрыть».
Мне кажется, что мне не хватает чего-то очень простого, поскольку я не могу найти что-то не так с моим кодом. У кого-нибудь есть предложения?
try
{
string strCmdText;
strCmdText = "/k nslookup 123.123.123.123";
// Start the process.
Process p = new Process();
//The name of the application to start, or the name of a document
p.StartInfo.FileName = "C:/Windows/System32/cmd.exe";
// On start run the string strCmdText as a command
p.StartInfo.Arguments = strCmdText;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadLine();
p.WaitForExit();
Console.WriteLine(output);
}
catch (Exception)
{
Console.WriteLine("error");
}
//Wait for user to press a button to close window
Console.WriteLine("Press any key...");
Console.ReadLine();
Приятный улов, но на самом деле у меня это было изначально и я забыл его вернуть. Фигурировал, что я поиграю, чтобы посмотреть, смогу ли я заставить что-нибудь работать. К сожалению, ReadToEnd не решает проблему. – user2428835
Хорошо, отредактировал сообщение с другой идеей. –