2016-03-28 17 views
-1

Ich habe in den letzten Tagen ein paar Dinge über ASP gelernt. Ich wollte diese PHP Code-Zeile in ASP konvertieren, aber ich bin irgendwie mit ihm stecken:Wie führe ich einen Befehl aus und bekomme seine Ausgabe

$online = exec('netstat -a -n |find "5816" |find "ESTABLISHED" /c') +1; 

Ich habe versucht, eine Variable zu schaffen, die Daten zu speichern, aber nicht in der Lage, herauszufinden, wie die Port 5816 zu überprüfen und Zählung die Anzahl der Verbindungen. Hilfe ist willkommen!

Es sollte grundsätzlich ein Befehl sein, der in cmd ausgeführt wird, um den Port und die Nummer zu überprüfen. von Verbindungen, die dadurch hergestellt werden!

Antwort

0

Befehl ausführen seine Ausgabe immer

Sie können diesen Code verwenden, um die obigen Befehl auszuführen:

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
process.StartInfo = new System.Diagnostics.ProcessStartInfo() 
{ 
    UseShellExecute = false, 
    CreateNoWindow = true, 
    WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden, 
    FileName = "cmd.exe", 
    Arguments = "/C netstat -a -n |find \"5816\" |find \"ESTABLISHED\" /c", 
    RedirectStandardError = true, 
    RedirectStandardOutput = true 
}; 
process.Start(); 
// Now read the value, parse to int and add 1 (from the original script) 
int online = int.Parse(process.StandardOutput.ReadToEnd()) + 1; 
process.WaitForExit(); 

Dieser Code startet die cmd.exe ausführbar. Mit dem Argument/C können Sie ihm den Befehl geben, den Sie ausführen möchten

Eine einfache Suche in Stackoverflow gab mir Hunderte von Fragen, die Ihnen helfen könnten.

Quelle:How To: Execute command line in C#, get STD OUT results, Run Command Prompt Commands

Verwandte Themen