C# Warten auf Beendigung eines Skripts

nichtgamer

Lt. Junior Grade
Registriert
Mai 2010
Beiträge
311
Grüß euch,

ich steh vor dem Problem, dass ich ein Skript (batch datei) starten will, welches eine .txt datei generiert. Diese .txt datei soll anschließend eingelesen werden, aber da dass programm dies noch vor beendigung des skripts versucht, kommt es zu einem fehler

Deshalb die frage: wie kann ich das Programm anweisen, dass es bis zur fertigstellung des skripts warten soll?

Process.Start ("Nutzer.bat");
System.IO.StreamReader file =
System.IO.File.OpenText ("Nutzer.txt");
textview.Buffer.Text = file.ReadToEnd();

danke schon mal
 
ich kenne mich da nicht so perfekt aus, aber versuche mal dein skript mit start aufzurufen. also sowas in der art:

start /wait Nutzer.bat
 
das hab ich voll übersehn :freak:
aber danke, jetzt funktionierts bestens :D
 
Ich frage mich jedoch, wieso du nicht in C# die txt-Datei erstellst und sie dann einliest? :D
 
weils für mich als anfänger einfacher ist^^

aber sag bitte: wie könnt ich das machen?
 
Wenn du dabei bist den Einstieg in eine C-Basierte Programmiersprache zu vollziehen, sollte dir folgende Seite (natürlich die Hauptseite nicht die spezielle ;)) zum guten Freund werden. Es gibt auch noch einige andere, aber die wirst du im Laufe der Zeit finden.

Google ftw... ach so hier ein Beispiel zu deiner Frage.
 
scriptProcess.WaitForExit() funktioniert leider nicht immer. Der kann auch unendlich lange warten... besonders bei den IO Operationen wo man eine Ausgabe bekommen kann.
 
nichtgamer schrieb:
weils für mich als anfänger einfacher ist^^

aber sag bitte: wie könnt ich das machen?

Ist sehr simple.

Code:
File.WriteAllText("blubb.txt", "inhalt.....");
Erstellt ein File mit Inhalt, überschreibt wenns schon existiert.


Code:
string myText = File.ReadAllText("blubb.txt");
Liest den string aus nem File aus. Einfacher geht's kaum :)

Natürlich gibt's auch noch kompliziertere Methoden, die mehr Möglichkeiten bieten. Wie z.B. das was PapstRatze gepostet hat.
 
Zurück
Oben