XtremeCJ
Erfahrenes Mitglied
Ich schreibe mir gerade ein kleines Tool, um den kompletten Inhalt des aktuellen Ordners gezippt auf einen FTP zu laden. Das passiert so:
Es wird einfach ein TXT mit den Anweisungen erstellt, der Prozess mit dem TXT als Argument gestartet, und gewartet bis der Prozess fertig ist.
Ich möchte anschließend prüfen, ob der Vorgang erfolgreich war. Gibt es eine Möglichkeit, das Ergebnis des FTP-Prozesses auszulesen?
Außerdem habe ich noch einen Kommentar an der Stelle gemacht wo ich nicht zufrieden bin. Das ist an der Stelle wo ich prüf ob der FTP-Prozess noch läuft. Wenn zufällig nebenher noch ein anderer FTP-Prozess läuft, wird das hier nicht so schnell fertig. Gibt es eine Möglichkeit zu prüfen, ob der spezielle Prozess p abgeschlossen ist?
Code:
StringBuilder builder = new StringBuilder();
builder.AppendLine("open " + ftp);
builder.AppendLine(user);
builder.AppendLine(password);
builder.AppendLine("binary");
builder.AppendLine("mput \"" + zipFileName + "\"");
builder.AppendLine("close");
builder.AppendLine("bye");
File.WriteAllText(commandFileName, builder.ToString());
Process p = Process.Start("ftp.exe", "-v -i -s:" + commandFileName);
while (Process.GetProcessesByName("ftp").Length > 0) // nicht gut, es könnten ja mehrere FTP-Prozesse laufen
Thread.Sleep(500); // wait for transaction process to end
Es wird einfach ein TXT mit den Anweisungen erstellt, der Prozess mit dem TXT als Argument gestartet, und gewartet bis der Prozess fertig ist.
Ich möchte anschließend prüfen, ob der Vorgang erfolgreich war. Gibt es eine Möglichkeit, das Ergebnis des FTP-Prozesses auszulesen?
Außerdem habe ich noch einen Kommentar an der Stelle gemacht wo ich nicht zufrieden bin. Das ist an der Stelle wo ich prüf ob der FTP-Prozess noch läuft. Wenn zufällig nebenher noch ein anderer FTP-Prozess läuft, wird das hier nicht so schnell fertig. Gibt es eine Möglichkeit zu prüfen, ob der spezielle Prozess p abgeschlossen ist?
Zuletzt bearbeitet: