Toon posts:

[C#] Start process and output to textfile

Pagina: 1
Acties:

Verwijderd

Topicstarter
Weet iemand een manier om een ping commando (dat uitgevoerd wordt vanuit een Console Application van C#) uit te voeren en de output van het ping commando weg te schrijven naar een text bestand?

Dit doe ik momenteel (en het werkt niet :():

code:
1
2
3
4
5
6
7
8
9
using System.Diagnostics;

Process ping = new Process();
ping.StartInfo.FileName = @"ping.exe";
ping.StartInfo.Arguments = " server " + (char)62 + "c:\\ping.txt";
ping.StartInfo.UseShellExecute = true;
ping.StartInfo.CreateNoWindow = true;
ping.Start();
ping.WaitForExit();


De (char)62 staat voor het ">" teken. Ook als ik (char)62 vervang voor het teken zelf werkt het niet :(

Ik krijg voor de rest geen foutmeldingen tijden het compileren en/of uitvoeren van dit programma.

Iemand suggesties?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Kijk eens naar de StandardOutput property van de Process class:

code:
1
2
3
ping.Start();
string s = ping.StandardOutput.ReadToEnd();
ping.WaitForExit();

https://fgheysels.github.io/


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Verwijderd schreef op 14 april 2004 @ 08:45:
Ik krijg voor de rest geen foutmeldingen tijden het compileren en/of uitvoeren van dit programma.

Iemand suggesties?
Welke foutmeldingen krijg je?

Verwijderd

Topicstarter
Uhmm... ik kreeg geen foutmeldigen.

Maar ik heb de code dus veranderd naar:

code:
1
2
3
4
5
6
7
8
9
10
using System.Diagnostics;

Process ping = new Process();
ping.StartInfo.FileName = @"ping.exe";
ping.StartInfo.Arguments = " server ";
ping.StartInfo.UseShellExecute = true;
ping.StartInfo.CreateNoWindow = true;
ping.Start();
string s = ping.StandardOutput.ReadToEnd();
ping.WaitForExit();


Kreeg ik bij het compilen de volgende melding:
Project Ping encountered unhandled exception class System.InvalidOperationException. Process Stopped. Use Step or Run to continue.

De regel waarop dit probleem veroorzaakt wordt is de regel van string s = ...

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:32
Je moet ook RedirectStandardOutput op true zetten.

Stukje copy / paste uit eigen code:
code:
1
2
3
4
5
6
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.Start();        
sResult = p.StandardOutput.ReadToEnd();
p.WaitForExit();

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami, thanx!

it's working!
Pagina: 1