Laden...

Parameter beim Programmaufruf übergeben [bzw. umgelenkte Datei einlesen]

Erstellt von indeopax vor 10 Jahren Letzter Beitrag vor 10 Jahren 4.970 Views
Thema geschlossen
I
indeopax Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren
Parameter beim Programmaufruf übergeben [bzw. umgelenkte Datei einlesen]

Hallo zusammen,

beim Aufruf eines Programmes via Konsole möchte ich gleich die zu benutzende Datei folgendermaßen mitgeben:

C:&gt; sas.exe < orion.dat

Da ich den Dateinamen im Programm verwenden möchte, will ich das Ganze via
Environment.CommandLine auslesen und entsprechend in einem String speichern.

Leider wird mit hier nur sas.exe ausgegeben. Wie komme ich an den Part hinter dem < ?

Danke im Voraus.

B
40 Beiträge seit 2013
vor 10 Jahren

Du kannst auf den Parameter args zugreifen zum Beispiel


static void Main(string[] args)
{
if (args[0] != null)
string file = args[0];
}

Hier ist ein gutes Beispiel C# main args

4.939 Beiträge seit 2008
vor 10 Jahren

Hallo indeopax,

durch die Dateiumleitung mittels '<' wird dieser Parameter schon direkt von der Konsole verarbeitet, so daß dann in deinem Fall keine Parameter an das Programm übergeben werden.

Oder möchtest du die Datei selbst verarbeiten, dann rufe einfach das Programm so auf:


sas.exe orion.dat

und greife mit dem vom Vorposter beschriebenen Code darauf zu.

I
indeopax Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren

Hi Th69,

im folgenden Programm lese ich die Datei mittels Streamreader aus,

StreamReader sr = new StreamReader(@"C:\orion.dat");

Wie könnte ich auf die von der Konsole verarbeitete Datei zugreifen ?

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo indeopax,

Console.In oder Console.OpenStandardInput().

Bitte schau für sowas in die MSDN Dokumentation, bzw. suche im Netz nach Lösungen. Offensichtlich bist du nicht der erste, dem sich diese Aufgabe stellt. Beachte insofern [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1.

herbivore

Thema geschlossen