Laden...

Process mit Kommandos steuern?

Erstellt von sadza79 vor 18 Jahren Letzter Beitrag vor 18 Jahren 5.522 Views
S
sadza79 Themenstarter:in
69 Beiträge seit 2004
vor 18 Jahren
Process mit Kommandos steuern?

Hallo,

ich möchte die ftp.exe von Windows XP aus meinem Programm aus verwneden.
Dafür erwartet die Anwendung Kommandos. Um z.B. eine Datei zu laden (get
mein.txt). Wie kann ich das aus meiner Anwendung heraus machen. Das Problem
besteht beim senden der Enter - Taste (Bestätigung). Dem Imput der ftp.exe habe
ich schon auf meine Anwendung umeleitet. Hoffe ihr könnt mir helfen!

75 Beiträge seit 2005
vor 18 Jahren

Hi,

denke dass wird etwas komplizierter, denn
Du kannst zwar den Prozess so starten, hast
aber natürlich keinen weiteren Zugriff drauf, es sei
denn ftp.exe stellt dafür Schnittstellen bereit, was
ich aber nicht glaube und da das ne DOS Anwendung
ist kannst Du dem ganzen nicht mal ne Windows
Nachricht senden. Wüsste nicht wie??
Wenn Du FTP in Dein Programm integrieren willst,
implementiere lieber gleich ne Lösung in C#.
Auf Codeproject.com solltest Du was finden.

Gruss
LarsLovesDotNet

Alles was man sich vorstellen kann,kann man auch programmieren.

AODL- An OpenDocument LibraryAODL
WWW: www.OpenDocument4all.com

S
sadza79 Themenstarter:in
69 Beiträge seit 2004
vor 18 Jahren

Hallo LarsLovesDotNet,

vielen Dank für die Antwort. Habe auch schon unter codeproject gesucht. Leider
sind die FTP Client Komponenten für die Passive Daten Verbindung ausgelegt. Mein
FTP Server unterstützt nur die Aktive Daten Verbindung.

Für meine Anwendung kann ich jetzt aber den Befehl ftp -s:kommandos.txt
verwenden. Hier kann ich die Kommandos absetzen die ich brauche. Das ist zwar
nicht dynamisch, reicht aber für meine Anwendung aus!

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo sadza79!

Ich denke folgender Beitrag wird Dir helfen:

Process.Start() mit Parameter...

Oder was meinst Du mit der "Enter Taste betätigen" (ich kenn das ftp-Programm nicht).

Ciao
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

S
sadza79 Themenstarter:in
69 Beiträge seit 2004
vor 18 Jahren

Hallo norman_timo,

hier handelt es sich um das Standard FTP (ftp.exe) Programm von Windows. Wenn man es
in der Kommandozeilenaufforderung startet, kann man sich hier zu einen FTP
Server verbindung und unterschiedliche Kommandos absetzten. Und das ist das
Problem, den ich würde gerne die Kommandos von meiner Anwendung aus an das
FTP Programm senden. Und das Funktioniert nicht oder ich weiss nicht wie ich das
machen soll 😭

4.506 Beiträge seit 2004
vor 18 Jahren

Hallo sadza79!

Hab einfach mal das Programm in der Commando-Console ausprobiert, und jetzt versteh ich Deine Problematik 😉

Da Du Dich aber wesentlich besser mit diesem Programm auskennst, kann ich nur raten:

Ist es möglich mit ftp.exe ein Textfile als Skript zu öffnen? Denn dann könntest Du Deine FTP-Befehle in ein Textfile schreiben, das dann das FTP-Programm mittels Parameter über Process.Start mit übergeben wird.

Oder möchtest Du immer nur einzelne Befehle absetzen (wohl unwahrscheinnlich), dann könntest Du immer wieder FTP.exe schließen und mit Parameter und Process.Start() die einzelnen Befehle absetzen.

Am Besten wäre, wenn Du direkt Text in die Console überführen könntest. Das weiß ich leider nicht wie das funktioniert. Aber ich glaube mich zu entsinnen, dass in diesem Forum schon mal so ein Thread existiert, wo diese Frage beantwortet wurde.

Sorry, dass ich nicht helfen konnte,
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

S
sadza79 Themenstarter:in
69 Beiträge seit 2004
vor 18 Jahren

Hallo norman_timo,

habe das über eine Textdatei gelöst, in der die einzelnen Kommandos stehen.
ftp -s:Kommando.txt

Das Programm arbeitet jetzt meine Befehle aus der Datei Kommando.txt ab.
Den Übergabeparameter (-s:Kommando.txt) übergebe ich an die ProcessInfo
Argumente.

Vielen Dank für deine Hilfe!

S
709 Beiträge seit 2005
vor 18 Jahren

Falls du .NET 2.0 verwendest, brauchst du die FTP.exe gar nicht.

Zitat der MSDN2 Library
FTP Support

Applications can now access File Transfer Protocol resources using the WebRequest, WebResponse, and WebClient classes.

Weitere Links:
MSDN2 Library
Neu im .NET Framework 2.0 (Von dort stammt das Zitat)

Gruß,
SimonKnight6600