Forum: PC-Programmierung C# Process ausführen


von Leon E. (adiagi)


Lesenswert?

Hi Leute,
hab da ein kleines Problem ( hoffe das es klein ist :)  )
also folgendes:

Habe ein Batchfile (autorun.cmd), dass eine Applikation startet
Wenn die Application sich beendet, ruft autorun.cmd ein C# Programm 
sugeführt.

Dieses C# Programm sollte dann wieder ein anderes Batchfile ( stack.cmd) 
ausfüren.

 im ordner, wo Stack.cmd ist gibt es ein exe was mit stack. cmd 
ausgeführt wird.

Nun das Problem:

Wenn ich Stack.cmd manuell ausführe wird die .exe normal und richtig 
gausgeführt.

wenn ich das C# Programm ausführe, dass stack.cmd startet, benötig ich 
den gesamten ordner, wo stack.cmd drin ist auch da wo der c# debug ist.

ok klappt auch.


starte ich die gesamte automatisierung, also autoran.bat läuft die 
application normal, beendet sie sich dann öffnet sich das C# Programm.

das C# Programm will dan stack.cmd aufrufen aber das geht nicht.

Das Problem ist, dass der gesamte Ordner wo Stack.cmd drin ist auch im 
selben Verzeichnis wie autorun.cmd enthalten sein muss.

So langer text und kurzer sinn.


gibt es ne möglichkeit, dass mein ordner, wo stack.cmd z.B. auf dem 
Deskop ist und autoun.bat aber in einem anderen verzeichnis und es 
trotzdem möglich ist, dass der Ordner erkannt wird.

Vielen Dank für ere Hilfe.

Ich hoff ich hab euch nciht verwirrt.


PS: Der Code mit dem stack.cmd aufgerufen wird lautet wie folgt:

System.Diagnostics.Process.Start(@"C:\Users\aadirbelli\Desktop\ImageFile 
s\Stack_All_Versions\STACK.cmd");


Gruß Agit

von Peter II (Gast)


Lesenswert?

ja du musst das in den batch/c# das anwendungsverzeichniss setzen.

im batch einfach:
[laufwerkt]:
cd \path

in c# kannst du
den start ProcessStartInfo mit machen und dort die eigenschaft 
WorkingDirectory setzen.

von Leon E. (adiagi)


Lesenswert?

Hi Peter,
danke für die schnelle Antwot,

Ich denke nicht, dass das was mit dem verzeichnis zu tun hat.
In Stack.cmd wird alles ausgeführt, da die Dateien die benötigt werden 
auch im selben Ordner sind wie Stack.cmd ist.

Versuch ich aber über autorun.bat stack.cmd auszuführen klappt es nicht, 
da die der ordner, wo stack.cmd drin ist nicht im ordner ist, wo 
autorun.cmd ist

vielen dank für weitere hilfe

gruß agit

von Peter II (Gast)


Lesenswert?

Agit A. schrieb:
> Versuch ich aber über autorun.bat stack.cmd auszuführen klappt es nicht,
> da die der ordner, wo stack.cmd drin ist nicht im ordner ist, wo
> autorun.cmd ist

ja genau das ja das Problem, dein Arbeitsverzeichniss stimmt nicht.

von Leon E. (adiagi)


Lesenswert?

Hi Peter,

Und was heißt das nun,
wo muss ich den Pfad angeben, also in welchem Batchfile.

Gruß Agit

von Peter II (Gast)


Lesenswert?

Agit A. schrieb:
> Und was heißt das nun,
> wo muss ich den Pfad angeben, also in welchem Batchfile.

du musst dafür sorgen das in jeden Batch das arbeitsverzeichniss so ist, 
damit das Batch damit klar kommt.

von Leon E. (adiagi)


Lesenswert?

hi Peter,

sry aber das versteh ich nicht ganz
kannst es mir erklären ?

Gruß Agit

von Peter II (Gast)


Lesenswert?

Agit A. schrieb:
> sry aber das versteh ich nicht ganz
> kannst es mir erklären ?

nein mehr kann man dafür leider nicht erklären, dann hast du dir die 
falsche Tätigkeit gesucht.

(nicht böse gemeint)

von Leon E. (adiagi)


Lesenswert?

hi Peter,
ok trotzdem danke.

Denke, dass ich ne andere Lösung habe.

Gruß agit

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.