Archiv verlassen und diese Seite im Standarddesign anzeigen : C# - Parameter in der Kommandozeile mitgeben?
ooAlbert
2009-07-14, 14:33:59
Hi,
ich hab eine Konsolen-Anwendung geschreiben und überleg jetzt anstatt fester Parameter diese beim Start der Anwendung in der Kommandozeile mitzugeben. wie würde man das am besten umsetzen? Ich hab übrigens nur die Main-Methode.
mfg
redfalcon
2009-07-14, 14:39:39
Ich kenne C# jetzt nicht, aber es scheint ja wie in C/C++ Argumente für die main() zu geben:
static void Main(string[] args) {..}
In dem Array stehen dann die Sachen, die du beim Aufruf aus der Konsole mit übergeben hast.
Also z.B.:
bla.exe -arg1 -arg2 -arg3
In args[0] würde dann "-arg1" stehen, in args[1] "-arg2" usw.. Wenn in args[0] der Programmname (wie in C/C++) steht, musst du mal testen. Edit: Scheint nicht so zu sein, also steht das erste Argument in args[0].
Siehe auch hier:
http://msdn.microsoft.com/en-us/library/cb20e19t.aspx
ooAlbert
2009-07-14, 15:12:46
oh, das ist ja einfach :)
ich habs gerade probiert:
name.exe arg0 arg1 arg2
ohne die Anstriche davor.
TheGamer
2009-07-14, 16:02:20
oh, das ist ja einfach :)
ich habs gerade probiert:
name.exe arg0 arg1 arg2
ohne die Anstriche davor.
Jo ohne Anstriche auch, einfach nur das was mittels Leerzeichen getrennt ist.
Funky Bob
2009-07-14, 16:08:22
[QUOTE=redfalcon;7414133]
bla.exe -arg1 -arg2 -arg3
In args[0] würde dann "-arg1" stehen, in args[1] "-arg2" usw.. Wenn in args[0] der Programmname (wie in C/C++) steht, musst du mal testen. Edit: Scheint nicht so zu sein, also steht das erste Argument in args[0].
Müsste in C# nicht, wie in C auch, der erste Parameter immer der Dateiname selbst sein?
Monger
2009-07-14, 17:21:46
Müsste in C# nicht, wie in C auch, der erste Parameter immer der Dateiname selbst sein?
Nein, es werden nur die Kommandozeilenparameter durchgereicht - obwohl natürlich das Programm im Endeffekt mit dem Dateinamen voran aufgerufen wird. An den Dateinamen kommt man auch anders heran.
MuLuNGuS
2009-07-15, 09:36:00
den dateinamen gibt es so: (auch wenn er später geändert wurde!)
FileInfo fileinfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
Console.WriteLine(fileinfo.Name);
=Floi=
2009-07-18, 17:48:27
kann diesen ein anderes programm auch auslesen?
MuLuNGuS
2009-07-18, 23:35:29
kann diesen ein anderes programm auch auslesen?
ja, das sollte auch gehen...
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.