2012-05-14 102 views
0
class Program 
{ 
    public static void ExecuteCommand(string Command) 
    { 
     ProcessStartInfo ProcessInfo; 
     Process Process; 

     ProcessInfo = new ProcessStartInfo("cmd.exe", "/C " + Command); 
     ProcessInfo.CreateNoWindow = false; 
     ProcessInfo.UseShellExecute = false; 
     Process = Process.Start(ProcessInfo); 
     Process.WaitForExit(); 

     Process.Close(); 


    } 



    static void Main() 
    { 

     ExecuteCommand("telnet 169.254.0.1"); 


    } 
} 

它運行cmd並通過telnet連接到特定設備。接下來,一旦連接,它會提示輸入我想發送的登錄名和密碼,然後在那幾個特定的​​命令之後。我該怎麼辦?在cmd中發送多個TELNET命令

非常感謝!

+0

並請,使用谷歌:) – animaonline

回答

3

只需寫入StandardInput流。

Process process = Process.Start("cmd"); 

if (process != null) 
{ 
    process.StandardInput.WriteLine("dir"); 
    process.StandardInput.WriteLine("ping"); 
    process.StandardInput.WriteLine("something"); 
} 
+0

也許我錯過了一些概念,但是你提供的代碼似乎沒有一次在cmd中Telnet界面踢的工作。 – user1394252

+0

不,它明確無法使用telnet。 – T30