在c#中打开命令行并发送命令PuTTy或KiTTy

时间:2014-03-20 14:52:45

标签: c# command-line putty

我搜遍了整个网站和互联网,但找不到我要找的东西,任何帮助都会做,也许我错过了一些东西......

我想从c#form GUI打开命令行,并发送此行:

kitty.exe abc@192.19.35.80 -load file -l name -pass pswrd -cmd "echo 123"

这是实际打开kitty(这是一个putty的端口)并将命令“echo 123”(这只是一个例子)发送到SSH。

我在C#中找不到任何办法,顺便说一句,我是新手......

谢谢大家。

1 个答案:

答案 0 :(得分:2)

System.Diagnostics.Process cmd = new System.Diagnostics.Process();

cmd.StartInfo.FileName = @"C:\windows\system32\cmd.exe";
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;

cmd.Start();

cmd.StandardInput.WriteLine("kitty.exe abc@192.19.35.80 -load file -l name -pass pswrd -cmd \"echo 123\"");

沿着这些方向的东西应该让你朝着正确的方向前进。您需要在cmd.StandardInput.WriteLine中调整呼叫以指向kitty.exe位置。或者,您可以直接将kitty.exe作为流程而不是cmd.exe,并使用StartInfo.Arguments

另请注意,如果您只需要Putty的命令行界面,则应调查Plink,因为它是Putty的命令行版本。