Reality Geschrieben 7. Dezember 2005 Teilen Geschrieben 7. Dezember 2005 Hi, ist es möglich ein c#-Programm so lange anzuhalten bis ein batch-file abgearbeitet ist? Das wäre für mich nämlich sehr wichtig, da ich mehrere batch-files hintereinander ausführen lasse und diese aber auf die gleichen dateien zugreifen müssen. Wer kann mir helfen? Mfg, Reality Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
IT-Hawk Geschrieben 7. Dezember 2005 Teilen Geschrieben 7. Dezember 2005 Hi, ich mach zwar nicht in C# aber normalerweise löst man das so: Möglichkeit 1 Du erzeugst mit der .bat ein Ereigniss: z.B. Erstellung der Datei: fertig.txt Eine geteimte Schleife in C# fragt alle Sekunde danach ab. Danach löschen der Datei fertig.bat und das Programm darf weiter laufen. Möglichkeit 2 Geht nur bei kleinen .bat Ereignissen, also nicht bei Dateitransfer der unbekannt groß ist. Du aktivierst eine Zeitschleife und definierst, das nach Aktivierung der .bat z.B. 2 Sekunden zu warten ist. Dies ist nicht gallant aber einfach. Ich hoffe, ich konnte helfen. Hawk Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yahoo Geschrieben 7. Dezember 2005 Teilen Geschrieben 7. Dezember 2005 Hallo Vielleicht ist Process.WaitForExit das was du brauchst.... HTH Yahoo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reality Geschrieben 7. Dezember 2005 Autor Teilen Geschrieben 7. Dezember 2005 da hält aber nur der prozess (Batch-File) , den ich aufgerufen habe an Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 7. Dezember 2005 Teilen Geschrieben 7. Dezember 2005 IT-Halk : lösch lieber die Möglichkeit 2, sonst gibts für jeden, der das bei der Arbeit macht mächtig haue. Das ist eine nicht zu akzeptierende Wahl ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DennyB Geschrieben 7. Dezember 2005 Teilen Geschrieben 7. Dezember 2005 Lass die Aktion in einem eigenen Thread laufen, die anderen genannten Moeglichkeiten solltest du bitte schnellstmoeglichst vergessen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reality Geschrieben 8. Dezember 2005 Autor Teilen Geschrieben 8. Dezember 2005 Was heißt in einem eigenen Thread? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yahoo Geschrieben 8. Dezember 2005 Teilen Geschrieben 8. Dezember 2005 Hallo, ich hatte das so angedacht: Mit dem Process-Objekt das Batch-File starten und dann die Option festlegen. Dann wird die Verarbeitung angehalten, bis sich das Batch beendet. Hab das mal so gemacht, hat funktuniert. (Leider habe ich keinen Code hier) Mit Threads? Da muss man sich doch dann "manuell" drum kümmern, ob die fertig sind, oder wie meinst du das Denny? Gruß Yahoo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reality Geschrieben 8. Dezember 2005 Autor Teilen Geschrieben 8. Dezember 2005 Was für eine Option meinst du denn jetzt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yahoo Geschrieben 8. Dezember 2005 Teilen Geschrieben 8. Dezember 2005 Hallo, sorry, "Option festlegen" war blöd formuliert. Versuche Process p = System.Diagnostics.Process.Start(batch); p.WaitForExit (); zusätzlich kann man den Stati abfragen: p.HasExited So hätte ich das angedacht... Yahoo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DennyB Geschrieben 8. Dezember 2005 Teilen Geschrieben 8. Dezember 2005 Warum manuell drum kuemmern? Man kann den aufgerufenen Thread den aktuellen joinen lassen. System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(lala)); t.Start(); t.Join(); Natuerlich muss man dabei ueberpruefen, ob die Batch fertig ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
yahoo Geschrieben 9. Dezember 2005 Teilen Geschrieben 9. Dezember 2005 Hi Denny, stimmt, so geht's auch. So denn, Yahoo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.