2017-03-01 6 views
-4

Ich habe eine C# -Befehlszeilenanwendung erstellt, die automatisch einige Berichte für meinen Client erstellt. Aber obwohl sie 95% des gleichen Codes verwenden, möchte ich sie in verschiedene Prozesse aufteilen. Ich verwende Windows Task Scheduler, um sie auszuführen. Wie richte ich die C# -Anwendung so ein, dass sie Befehlszeilenparameter zur Laufzeit akzeptiert?Wie setze ich C# -Anwendung, um Befehlszeilenparameter zu akzeptieren?

Ich kann keine Erklärung dafür im Internet finden.

+7

„Ich kann keine Erklärung dafür im Internet finden.“ - dann müssen Sie nicht versucht haben, hart genug. Das ist grundlegende Grundausstattung. Sehr gut dokumentiert. Überprüfen Sie MSDN. –

+2

Anders als 'static void Main (string [] args)'? – stuartd

Antwort

1

Alle Kommandozeilen-Parameter übergeben werden, auf Ihre Bewerbung durch string[] args Parameter.
Der folgende Code zeigt ein Beispiel:

using System.Linq; 

namespace MyApp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      if (args.Contains("/REPORT1")) 
      { 
       /* Do something */ 
      } 
      else if (args.Contains("/REPORT2")) 
      { 
       /* Do something */ 
      } 
     } 
    } 
} 

in Eingabeaufforderung Verwenden Sie dann nur:

C:\MyApp\MyApp.exe /REPORT1 
0

MSDN

Die unten Snippet wird die Anzahl der Parameter in der Befehlszeile übergeben drucken ... string[] args enthält die Parameterwerte ...

class TestClass 
{ 
    static void Main(string[] args) 
    { 
     // Display the number of command line arguments: 
     System.Console.WriteLine(args.Length); 
    } 
} 
Verwandte Themen