C# 将文件从windows传输到linux?
我正试图通过pLink和PuTTY连接到linux机器,以传输一些.txt文件。现在我只是想让连接正常工作。我有一个小窗口,有两个文本框(用户名,linux1)和一个密码框(pwbox1),还有一个按钮,当你点击时,它会将你连接到linux机器 这是我的密码:C# 将文件从windows传输到linux?,c#,wpf,linux,plink,C#,Wpf,Linux,Plink,我正试图通过pLink和PuTTY连接到linux机器,以传输一些.txt文件。现在我只是想让连接正常工作。我有一个小窗口,有两个文本框(用户名,linux1)和一个密码框(pwbox1),还有一个按钮,当你点击时,它会将你连接到linux机器 这是我的密码: private void button1_Click(object sender, RoutedEventArgs e) { string user = username.Text; string
private void button1_Click(object sender, RoutedEventArgs e)
{
string user = username.Text;
string passw = pwbox1.Password;
string linuxHst = linux1.Text;
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Program Files (x86)\PuTTY\plink.exe", user + "@" + linuxHst + " -pw " + passw);
psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.WindowStyle = ProcessWindowStyle.Normal;
psi.UseShellExecute = false;
psi.CreateNoWindow = false;
Process process = Process.Start(psi);
process.WaitForExit(5000);
}
问题是,当我在控制台应用程序中尝试这一点时,它可以工作,没有文本框!但我需要它来配合WPF。
谁能告诉我我做错了什么?我遗漏了什么吗?什么东西没有像你期望的那样发挥作用,你观察到了什么?“但我需要它来与WPF一起工作”并不是一个真正的问题描述……它并没有表明我已经连接到linux机器!cmd窗口是空的!它应该显示类似“使用mowglin..”的内容,不是吗?如果您执行
psi.RedirectStandardOutput=true,为什么cmd窗口会显示任何内容代码>?如果不想重定向控制台输出并在其cmd窗口中看到它,请不要重定向它;)(类似的参数可能适用于psi.RedirectStandardInput=true;
-不确定您是否需要/想要在此cmd窗口中进行键盘输入),但完全相同的代码适用于控制台应用程序!这表明我已连接。如果它在控制台应用程序中工作,那么在控制台应用程序中执行的代码与上面描述的不完全相同…——在这里,您可能有一些代码行使其工作起来(可能类似于Console.WriteLine(process.standardpoutput.ReadToEnd());
)