NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Frantisek Jesatko:13.1.2016 22:17

Zdravím potřebuju radu,
do projektu jsem přidal externí exe soubor. Tento soubor bych potřeboval spouštět s parametrem.

 string prikaz = "cmd test.exe --load protokol.xml";
System.Diagnostics.Process.Start(prikaz);

bohužel toto mi končí na hlašce že soubor nelze najit.
Díky za rady

 
Odpovědět
13.1.2016 22:17
Avatar
Odpovídá na Frantisek Jesatko
Michael Škrášek:13.1.2016 22:23
Process process = new Process();
process.StartInfo.FileName = "jmeno soubor";
process.StartInfo.Arguments = "argument";
process.Start();

tohle by mělo fungovat, pokud ne, tak mě jen napadá spustit batch file s příkazem:

start progarm -argument

....
:-S

Nahoru Odpovědět
13.1.2016 22:23
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
Frantisek Jesatko:14.1.2016 12:07

Zdravim díky za help ale toto jsem nasel ale bohuzel nevim jak to pouzit v mem pripade.
flexibee2xml.exe --load protokol.xml
ta to syntaxe v příkazovém řadku jede.

 
Nahoru Odpovědět
14.1.2016 12:07
Avatar
Odpovídá na Frantisek Jesatko
Luboš Běhounek Satik:14.1.2016 14:07

mas u toho exace zaskrtnute, aby se kopiroval do vystupni slozky?
Pripadne nejaky problem s working directory - idealne ho pak treba volat celou cestou - vytahnout slozku z cesty toho uz beziciho exace a prilepit k ni jmeno toho exace, co chces spustit.

Nahoru Odpovědět
14.1.2016 14:07
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Frantisek Jesatko
Michael Škrášek:14.1.2016 14:43

V tom případě mě napadá jen toto:

System.IO.File.WriteAllLines("start.bat", new string[] { "cmd test.exe --load protokol.xml" });
System.Diagnostics.Process.Start("start.bat");

Není to nejlepší řešení, ale určitě bude fungovat. Případně kvulí právům k zápisu změníš složku ....

Nahoru Odpovědět
14.1.2016 14:43
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
jt.e
Člen
Avatar
Odpovídá na Frantisek Jesatko
jt.e:14.1.2016 17:39

spuštění programu s parametry přes řetězec, musí mít nějaký formát, jinak to bere jako jednu cestu k souboru.

například:

"\"C:\\aplika­ce.exe\" \"--load\" \"protokol.xml\""

 
Nahoru Odpovědět
14.1.2016 17:39
Avatar
Petr Čech
Tvůrce
Avatar
Petr Čech:14.1.2016 17:56

A co třeba tohle:

var proc = Process.Start("start.bat","--load protokol.xml");
Nahoru Odpovědět
14.1.2016 17:56
the cake is a lie
Avatar
jt.e
Člen
Avatar
Odpovídá na jt.e
jt.e:14.1.2016 18:21

Ještě jsem si to raději zkusil, a zjistil jsem že Proces.Start v 1. parametru bere pouze název souboru a argument musí být až v druhém.

Editováno 14.1.2016 18:22
 
Nahoru Odpovědět
14.1.2016 18:21
Avatar
Frantisek Jesatko:14.1.2016 21:35

Díky všem za pomoc ale nevím proč jidiný co opravdu funguje je varianta vytvoření dávky a následné spuštění.
Nevím proč to tak je ale to jede.

 
Nahoru Odpovědět
14.1.2016 21:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.