Diskuze: EXE soubor v projektu

C# .NET .NET (C# a Visual Basic) EXE soubor v projektu American English version English version

Avatar
Frantisek Jesatko:

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. ledna 22:17
Avatar
Odpovídá na Frantisek Jesatko
Michael Škrášek:
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. ledna 22:23
Proč to dělat složitě, když to jde jednoduše.
Avatar
Frantisek Jesatko:

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. ledna 12:07
Avatar
Odpovídá na Frantisek Jesatko
Luboš Běhounek (Satik):

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. ledna 14:07
:)
Avatar
Odpovídá na Frantisek Jesatko
Michael Škrášek:

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  +1 14. ledna 14:43
Proč to dělat složitě, když to jde jednoduše.
Avatar
jt.e
Člen
Avatar
Odpovídá na Frantisek Jesatko
jt.e:

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. ledna 17:39
Avatar
Petr Čech (czubehead):

A co třeba tohle:

var proc = Process.Start("start.bat","--load protokol.xml");
Nahoru Odpovědět  +1 14. ledna 17:56
Why so serious? -Joker
Avatar
jt.e
Člen
Avatar
Odpovídá na jt.e
jt.e:

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. ledna 18:22
 
Nahoru Odpovědět 14. ledna 18:21
Avatar
Frantisek Jesatko:

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. ledna 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.