Laden...

Dos Befehle in die Form schreiben...

Erstellt von schillerdeluxe vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.908 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 17 Jahren
Dos Befehle in die Form schreiben...

Hi @ all...
Würde gerne bestimmte Befehle ausführen lassen, sobald das Programm ausgeführt wird. Wie stelle ich es an, dass ich einen DOS Befehl ausführen kann..

Ich weiß zwar dass ich ein programm mit Process.Start(); ausführen kann, aber wie kann ich den BEFEHL übergeben?

Danke für mögliche Antworten

M
104 Beiträge seit 2005
vor 17 Jahren

Hallo,

ein kleiner Auszug aus der MSDN:

ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
            
Process.Start(startInfo);
            
startInfo.Arguments = "www.northwindtraders.com";
            
Process.Start(startInfo);

Damit kann man auch die cmd.exe starten....

Gruß
Morpheus

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 17 Jahren

Ja aber hier tritt wieder das selbe Problem auf, dass der Befehl nicht ausgeführt wird, wie ich mir das vorgestellt habe.
Er startet zwar das Dos Fenster, aber das Argument wird nicht als Befehl ausgeführt...

Aber danke für die Antwort

mfg Deluxe

L
273 Beiträge seit 2006
vor 17 Jahren

einfachste methode wär doch eine Batchdatei schreiben und dann einfach die batchdatei ausführen ? 🙂
Warum immer so kompliziert 😉

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 17 Jahren

Ja die Version mit der Batch Datei funktioniert, würde aber trotzdem gerne wissen, wie ich es mit C# realisieren könnte.

Außerdem bin ich nicht sehr vertraut mit dem Erstellen von .bat Dateien.
Diese Datei habe ich zwar zusammengebracht aber wie schon oben erwähnt, strebe ich nach dem Wissen mit C#. 😁

Danke trotzdem

Deluxe

M
104 Beiträge seit 2005
vor 17 Jahren

Das funktioniert 100%-ig:

ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\temp\tuwas.cmd");
startInfo.WindowStyle = ProcessWindowStyle.Minimized;
Process.Start(startInfo);
Process.Start(startInfo);

Inhalt der tuwas.cmd:

xcopy c:\temp\dummy.txt C:\temp\dummy01.txt

Falls das Command-Fenster nicht "angezeigt" wird, könnte das an "Minimized" liegen....

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 17 Jahren

Ist ja sicher eine nette Lösung, aber das hilft mir nur wenig, da ich nicht weiß, was in der dummy.txt und dummy01.txt steht....

Aber trotzdem danke
mfg Deluxe

2.223 Beiträge seit 2005
vor 17 Jahren

moin

das brauchst du auch nicht wissen den es ist eine datei die kopiert wird

mfg

2.223 Beiträge seit 2005
vor 17 Jahren

frage: was ist in deinen augen den ein dos BEFEHL?

genau eine anwendung

also kannst diesen BEFEHL genau so ausführen wie zb iexplore.exe

mfg

871 Beiträge seit 2005
vor 17 Jahren

Hallo,

vielleicht meint der OP mit DOS Befehlen Command Interpreter interne Befehle wie beispielsweise "dir" oder "copy".

Nehmen wir mal an, dies ist der Fall und du willst den Befehl "dir" ausführen. Dann musst du den Prozess cmd.exe starten, welcher als Parameter "/c dir" entgegennimmt. Willst Du den Output desselben mitkriegen, dann musst Du die Property "RedirectStandardOutput" der ProcessStartInfo Property auf true setzen und anschliessend den StandardOutput Stream lesen.

In der MSDN gibts tonnenweise Infos und Beispiele zu oben genanntem.

Grüsse, Egon

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo zusammen,

vielleicht auch interessant: Console als Steuerelement einbinden.

herbivore