2016-03-28 54 views
-1

过去几天我一直在学习有关ASP的一些事情。 我想这个PHP代码行到ASP转换,但我有点坚持了下来:如何执行命令并获取其输出

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

我试图创建一个变量来存储数据,但无法弄清楚如何检查端口5816和计数连接的数量。 帮助表示赞赏!

它应该基本上是一个命令运行cmd来检查端口和否。由它建立的连接!

回答

0

执行命令获取其输出

您可以使用此代码来执行上面的命令:

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(); 

此代码启动cmd.exe的可执行文件。使用/ C参数,你可以给它你想要执行的命令

Stackoverflow中的简单搜索给了我数百个可以帮助你的问题。

来源:How To: Execute command line in C#, get STD OUT resultsRun Command Prompt Commands

相关问题