【发布时间】:2014-03-20 14:52:44
【问题描述】:
我想从 GUI 中打开 C# 命令行,并发送此行:
kitty.exe abc@192.19.35.80 -load file -l name -pass pswrd -cmd "echo 123"
这是实际打开KiTTY(PuTTY的一个端口),发送命令echo 123(只是一个例子)到SSH。
我在 C# 中找不到任何方法。
【问题讨论】:
标签: c# .net ssh command-line putty
我想从 GUI 中打开 C# 命令行,并发送此行:
kitty.exe abc@192.19.35.80 -load file -l name -pass pswrd -cmd "echo 123"
这是实际打开KiTTY(PuTTY的一个端口),发送命令echo 123(只是一个例子)到SSH。
我在 C# 中找不到任何方法。
【问题讨论】:
标签: c# .net ssh command-line putty
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 的命令行版本。
【讨论】: