2017-07-26 1 views
0

Hier habe ich Dienst erstellen für das Schreiben von .txt-Datei und geben Parameter aus Task-Scheduler mit diesem Code:Wie Argument übergeben, während Task Scheduler Aufruf von C#

static void Main(string[] args) 
    { 

     string abc = string.Empty; 
     foreach (var item in args) 
     { 
      abc += item +" "; 
     } 
     string path = @"D:\GST Project\Demo Text File.txt"; 
     File.WriteAllText(path, abc); 
    } 

Ich habe die Aufgabe in Task-Scheduler hinzugefügt dies wie: Task scheduler

I unter Verwendung von C# -Code unter meinem Scheduler-Task aufrufen will, ist mein Code, die ich von Link

genommen haben

Ich frage mich, wie wir den Parameter über TaskService übergeben können. Auch Was sollte ich anstelle von Server.Name, Login, Domäne, Passwort übergeben. Danke für Ihre Hilfe!

+0

Ist das Argument das gleiche auf jedem laufen? Oder variiert es von Lauf zu Lauf? – mjwills

+0

Warum sollte der Scheduler-Task so aufgerufen werden? Warum rufen Sie nicht einfach direkt die Konsolenanwendung auf? _Ist es, weil es remote läuft? _ – mjwills

+0

@mjwills Ich muss jede Aktion durch Scheduler nicht schreiben Code zum Aufruf exe direkt ausführen, auch ich es von C# -Anwendung ausführen, so werde ich Parameter aus C# -Code übergeben. Auch es läuft remote –

Antwort

2

versuchen, den folgenden Code: - Dies wird Ihnen helfen

TaskService.Instance.AddTask("Test", QuickTriggerType.Daily, "Exe file path", "test"); 

dies Ihre Aufgabe planen wird und die Test Argument in Ihrer EXE-Datei

0

Was soll ich anstelle von Server passieren passieren .Name, Login, Domäne, Kennwort

serverName - Der Name des Computers, mit dem Sie eine Verbindung herstellen möchten. Wenn der Parameter serverName leer ist, wird diese Methode auf dem lokalen Computer unter ausgeführt.

login-Der Benutzername, der während der Verbindung mit dem Computer verwendet wird. Wenn der Benutzer nicht angegeben ist, wird das aktuelle Token verwendet.

Domäne - Die Domäne des Benutzers, der im Benutzerparameter angegeben ist.

password - Das Kennwort, mit dem eine Verbindung zum Computer hergestellt wird. Wenn der Benutzername und das Kennwort nicht angegeben werden, dann wird die aktuelle Token ist

verwendet

.

Sie können eine TaskDefinition verwenden, um Parameter und andere Einstellungen zu übergeben. Bitte versuchen Sie die folgenden für die Übergabe von Parametern

mit (ts Taskservice = new Taskservice()) {

 TaskDefinition td = ts.NewTask(); 
    td.RegistrationInfo.Description = "Does something"; 

    //l fire the task at this time every day 
    td.Triggers.Add(new DailyTrigger { DaysInterval = 1 }); 

    // Create an action that will launch Notepad and you can pass paremeters 
    td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null)); 

    // Register the task in the root folder 
    ts.RootFolder.RegisterTaskDefinition(@"Test", td); 


    } 
Verwandte Themen