這台FTP有個問題,就是刪除 FTP 大量檔案時會報錯
不管是用Windows檔案總管FTP連線刪除、或用.NET刪除,都有這問題
這邊要問.NET(WebForm)的問題
因 .NET刪除,會寫LOG到DB
但cmd.exe就算報錯 或 卡住沒跑完
FTP指令一樣會結束
所以LOG會一樣照寫,這邊想詢問
有沒有辦法知道FTP其實檔案沒刪除
protected void Delete_Click(object sender, EventArgs e)
{
...
FtpDel(Parameters_File[i].ToString());
...
string sqlStr = @"INSERT INTO DelFTP_Log
...
}
protected void FtpDel(string FileName)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
p.StandardInput.WriteLine("ftp");
p.StandardInput.WriteLine("open " + FTP_IP + " " + FTP_Port);
p.StandardInput.WriteLine(FTP_UserName);
p.StandardInput.WriteLine(FTP_Password);
p.StandardInput.WriteLine("delete " + FileName);
p.StandardInput.WriteLine("bye");
p.StandardInput.WriteLine("exit");
p.WaitForExit();
p.Close();
}