用plink.exe的方法,首先执行一次,就会没有这个问题出现
DoDos("", "echo y;exit | C:\\Putty\\PLINK.EXE -l root 192.168.60.1:/ \"exit\" >> TempLog.txt", "exit");
public string DoDos(string comd1, string comd2, string comd3)
{
string output = null;
Process p = new Process();//创建进程对象
p.StartInfo.FileName = "cmd.exe";//设定需要执行的命令
// startInfo.Arguments = "/C " + command;//“/C”表示执行完命令后马上退出
p.StartInfo.UseShellExecute = false;//不使用系统外壳程序启动
p.StartInfo.RedirectStandardInput = true;//可以重定向输入
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;//不创建窗口
p.Start();
// string comStr = comd1 + "&" + comd2 + "&" + comd3;
p.StandardInput.WriteLine(comd1);
p.StandardInput.WriteLine(comd2);
Thread.Sleep(100);
p.StandardInput.WriteLine(comd3);
p.WaitForExit();
output = p.StandardOutput.ReadToEnd();
output += p.StandardError.ReadToEnd();
if (p != null)
{
p.Close();
}
return output;
}