编辑3:The solution
编辑2:myProcess.WaitForInputIdle();
可以提供帮助吗?
编辑:我刚发现文件甚至没有下载。 我只是忘了删除旧的。请帮忙:/
所以我使用此代码从ftp服务器下载文件:
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.WindowStyle = ProcessWindowStyle.Hidden;
info.FileName = "ftp.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
p.StartInfo = info;
p.Start();
using (StreamWriter sw = p.StandardInput)
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine("open " + folder.server);
sw.WriteLine(folder.cred.user);
sw.WriteLine(folder.cred.password);
sw.WriteLine("get " + file);
sw.WriteLine("close");
sw.WriteLine("quit");
}
}
它工作得非常好,但最后我得到一个控制台输出,如User (*server*:(none)): Password:
,我必须输入一些东西,所以我的程序继续。
然而,无论我输入什么,我都会收到回复:
User anonymous cannot log in.
有人知道我怎么能避免这种情况吗?
我也试过跳过它,但sw.WriteLine(" ");
p.Close()
似乎也没有。{/ p>
我该怎么办?