Schtask Aufruf mit Parameterübergabe
Hallo,
ich habe da ein kleines Problem bei dem Versuch einen Task auf einem Remoterechner zu erstellen.
Es geht darum verschiedene Rechner zeitgesteuert zu sichern.
Dazu soll ein CMD-Script aus dem VErzeichnis c:\Program Files\Clientbackup mit dem Parameter "start" aufgerufen werden .
Ich habe ein Script geschrieben welches schtasks in der folgenden weise aufruft:
Set CliSnapRun="%ProgramFiles%\imagebackup\CliSnapUp.cmd start"
Schtasks /create /tn ClientSnapshot /tr %CliSnapRun% /sc weekly /mo 1 /d Mo /s mysystem
Ich erhalte jedoch immer eine Fehlermeldung, das "Start" kein gültiger Parameter sei.
Ich denke das ich den Pfad in irgendeiner weise "maskieren" muß, ich habe jedoch keine Ahnung wie.
Meine Versuche mit ^" usw. hatten leider keinen Erfolg.
Kann mir jemand weiterhelfen ?
Ich
ich habe da ein kleines Problem bei dem Versuch einen Task auf einem Remoterechner zu erstellen.
Es geht darum verschiedene Rechner zeitgesteuert zu sichern.
Dazu soll ein CMD-Script aus dem VErzeichnis c:\Program Files\Clientbackup mit dem Parameter "start" aufgerufen werden .
Ich habe ein Script geschrieben welches schtasks in der folgenden weise aufruft:
Set CliSnapRun="%ProgramFiles%\imagebackup\CliSnapUp.cmd start"
Schtasks /create /tn ClientSnapshot /tr %CliSnapRun% /sc weekly /mo 1 /d Mo /s mysystem
Ich erhalte jedoch immer eine Fehlermeldung, das "Start" kein gültiger Parameter sei.
Ich denke das ich den Pfad in irgendeiner weise "maskieren" muß, ich habe jedoch keine Ahnung wie.
Meine Versuche mit ^" usw. hatten leider keinen Erfolg.
Kann mir jemand weiterhelfen ?
Ich
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56900
Url: https://administrator.de/forum/schtask-aufruf-mit-parameteruebergabe-56900.html
Ausgedruckt am: 16.04.2025 um 05:04 Uhr
9 Kommentare
Neuester Kommentar
Moin ferdi1,
Willkommen auch von mir.
...wenn Du die Anführungszeichen anders setzt, sollte es auch gehen..
Aber Rockfires Bitte finde ich auch berechtigt...
Und mir sei bitte die Nachfrage gestattet, WTF braucht den die CliSnapUp.cmd überhaupt einen Parameter?
Bzw. kennt die denn noch andere?
Den Zusatznutzen erkenne ich von hier aus nicht...
Gruss
Biber
Willkommen auch von mir.
...wenn Du die Anführungszeichen anders setzt, sollte es auch gehen..
Set "CliSnapRun=%ProgramFiles%\imagebackup\CliSnapUp.cmd start"
Schtasks /create /tn ClientSnapshot /tr "%CliSnapRun%" /sc weekly /mo 1 /d Mo /s mysystem
Aber Rockfires Bitte finde ich auch berechtigt...
Und mir sei bitte die Nachfrage gestattet, WTF braucht den die CliSnapUp.cmd überhaupt einen Parameter?
Bzw. kennt die denn noch andere?
Den Zusatznutzen erkenne ich von hier aus nicht...
Gruss
Biber
Hy Ferdi1,
das erklärt das natürlich, das es bei mir funktionierte.
Wenn du so Probleme mit den Leerzeichen hast, die man(ich) häufig bei Batchdateien hat. Schon einmal überlegt die dateien einfach in einen anderen Ordner zu legen. Wir legen meist im Windowsverzeichnis einen Ordner Batch oder Script an.
Ansonsten kann ich dir leider nicht helfen. Tut mir leid. Aber ich bin mir sicher hier findet sich bestimmt noch eine Lösung für den Problem.
Gruß
Rockfire
das erklärt das natürlich, das es bei mir funktionierte.
Wenn du so Probleme mit den Leerzeichen hast, die man(ich) häufig bei Batchdateien hat. Schon einmal überlegt die dateien einfach in einen anderen Ordner zu legen. Wir legen meist im Windowsverzeichnis einen Ordner Batch oder Script an.
Ansonsten kann ich dir leider nicht helfen. Tut mir leid. Aber ich bin mir sicher hier findet sich bestimmt noch eine Lösung für den Problem.
Gruß
Rockfire
Moin Ferdi1 nochmal,
ich kann den Problem nicht reproduzieren.
Bei meinem "deutschen" SchTasks.exe funktionieren sowohl die oben von mir gepostete Syntax wie auch eine Variation wie z.B.
(also ["Programm-in-Anfü-Zeichen" plus Parameter] nochmal in Anfü-Zeichen gepackt )
Hattest Du meine Variante oben ausprobiert?
[Hier auf WinXP Pro SP2 getestet]
Gruss
Biber
ich kann den Problem nicht reproduzieren.
Bei meinem "deutschen" SchTasks.exe funktionieren sowohl die oben von mir gepostete Syntax wie auch eine Variation wie z.B.
Schtasks ..../tr " "%ProgramFiles%\imagebackup\CliSnapUp.cmd" start"
(also ["Programm-in-Anfü-Zeichen" plus Parameter] nochmal in Anfü-Zeichen gepackt )
Hattest Du meine Variante oben ausprobiert?
[Hier auf WinXP Pro SP2 getestet]
Gruss
Biber
Update.
Ziehe die letzte Frage zurück, denn inzwischen habe ich eine Antwort.
Vom sympathischen Weltmarktführer selbst.
Und ich gebe zu, so um die Ecke denken wie die Redmonder kann ich nicht...
Hier M$-KB 823093 stehts...
Krank, krank, krank...
Und es gibt auch noch einen weiteren, noch extremeren Workaround (der total unlogisch ist):
Auch wenn es mir keiner glauben wird...
Aufruf soll sein:
"c:\Eigene Dateien\Test.bat" mit Parameter 1 = start und Parameter 2 Dateiname
z.B.
*kopfschüttel*
Gottseidank will M$ ja mehr in Richtung "Entertainment-Rechner" gehen, hab ich gelesen.
Ich möchte auch nicht an einer Herz-Lungen-Maschine hängen, die unter M$-Betriebssytemen läuft.
Oder in einem Flugzeug mit Vi$ta-Autopilot mitfliegen....
Gruss
Biber
Ziehe die letzte Frage zurück, denn inzwischen habe ich eine Antwort.
Vom sympathischen Weltmarktführer selbst.
Und ich gebe zu, so um die Ecke denken wie die Redmonder kann ich nicht...
Hier M$-KB 823093 stehts...
For example, the following example task does not run when you schedule it:
schtasks /create /tn "my task" /tr "c:\foldername containing spaces\script.bat arguments" /sc once /sd 07/29/2003 /st 10:01
However, when you enclose the path of the task between the backslash and quotation marks character combinations as in the following example, the scheduled task runs successfully:
schtasks /create /tn "my task" /tr "\"c:\foldername name containing spaces\script.bat\" arguments" /sc once /sd 07/29/2003 /st 10:01
Krank, krank, krank...
Und es gibt auch noch einen weiteren, noch extremeren Workaround (der total unlogisch ist):
- Das, was als "/TR"-Parameter dienen soll, in doppelte (=ein Paar von) Anführungszeichen packen, [ja, in ""]
- zusätzlich JEDES Leerzeichen in Anführungszeichen verpacken
- am Ende ZUSÄTZLICH noch ein Anführungszeichen anhängen
Auch wenn es mir keiner glauben wird...
Aufruf soll sein:
"c:\Eigene Dateien\Test.bat" mit Parameter 1 = start und Parameter 2 Dateiname
z.B.
"c:\Eigene Dateien\Test.bat" start "C:\Dies und Das\xyz.bla"
>dann ist der an Schtasks übergebene /TR-Parameter:SchTasks ...... /TR """c:\Eigene" "Dateien\Test.bat" "start" "C:\Dies" "und" "Das\xyz.bla"""
Gottseidank will M$ ja mehr in Richtung "Entertainment-Rechner" gehen, hab ich gelesen.
Ich möchte auch nicht an einer Herz-Lungen-Maschine hängen, die unter M$-Betriebssytemen läuft.
Oder in einem Flugzeug mit Vi$ta-Autopilot mitfliegen....
Gruss
Biber