无法从C#代码获取cmd命令结果

时间:2018-03-08 14:05:08

标签: c# shell cmd plink

我正在使用交换机,我想通过ssh或telnet连接它,并将命令发送到特定端口。我成功连接到交换机,但登录后无法执行命令。

string command = "reboot";
using (Process process = new Process())
{
     process.StartInfo.FileName = "plink.exe";
     process.StartInfo.Arguments = "admin@192.168.42.7 -pw admin " + command;
     process.StartInfo.UseShellExecute = true;
     process.StartInfo.CreateNoWindow = false;
     process.Start();
}

上面给出的代码登录到交换机接口但不执行命令。 它以开关#文字挂起。

我尝试了cmd中的一些东西,我可以在登录后在屏幕上获取命令,但现在当我用C#代码编写相同的文本时,我得不到相同的结果。

plink.exe admin@192.168.42.7 -pw admin< D:\ input.txt - >从cmd执行而不是在C#中执行此操作。

using (Process process = new Process())
{
     process.StartInfo.FileName = "plink.exe";
     process.StartInfo.Arguments = "admin@192.168.42.7 -pw admin < D:\\input.txt";
     process.StartInfo.UseShellExecute = true;
     process.StartInfo.CreateNoWindow = false;
     process.Start();
}

可能是什么原因?感谢

0 个答案:

没有答案