web-dev-qa-db-ja.com

SchTasks.exeを使用して、タスクフォルダーを作成します

Windows 2008でスケジュールタスクフォルダーを作成するコマンドはありますか? SchTasks.exeを使用してタスクを作成しようとしていますが、これらのタスクをタスクフォルダーの下に配置したいと思います。基本的に、タスクスケジューラ内で、新しいフォルダを追加し、フォルダの下に複数のタスクを追加します。 UIからフォルダを作成するオプションがありますが、コマンド参照についてはよくわかりません

前もって感謝します

16
G33kKahuna

いくつかの試行と問題の解決。キーはタスク名に"\"を使用しています。サンプルのschtask.exeコマンドライン、

schtasks /create /xml "MyTask.xml" /tn "My Task Folder\My New Task"

新しいタスクフォルダを作成しますマイタスクフォルダそして新しいタスクを作成しますマイ新しいタスク新しいフォルダの下に

タスクを既存のフォルダーの下に作成する必要がある場合は、試してください

schtasks /create /xml "MyTask.xml" /tn "Existing Task Folder\My New Task"

新しいタスクを作成しますMy New Task既存のタスクフォルダの下にExisting Task Folder

29
G33kKahuna

SchTasks.exeを介してこれを行う方法はないようです。コマンドプロンプトでSchTasks.exe /Create /?を実行すると、使用可能なオプションが表示されます。タスク用のフォルダーを作成しても、私が見る限り、それらの1つとして表示されません。

ITaskSchedulerインターフェースを介してこれを行うことができる場合があります。違いの説明、およびインターフェイスをカプセル化するライブラリへのリンクについては、 この質問 を参照してください。 (私はライブラリを見たことがなく、それについて何も知りません。リンクされた質問に対する受け入れられた回答に基づく解決策として表示されるだけです。)

3
Ken White

これは古いスレッドですが、他の場所で答えが見つからなかったため、タスクを新しいフォルダーにコピーし、必要に応じてUserIdを書き換える小さなPowerShellスクリプトを作成しました。古いタスクを手動で削除することを忘れないでください。

Get-ScheduledTask | ? {$_.Taskpath -ieq "\FROM"} | % {
    $oTask = $_
    [XML]$TaskXML = Export-ScheduledTask -TaskName $oTask.TaskName

    #$TaskXML.GetElementsByTagName("UserId")[0].InnerText="SYSTEM"

    Register-ScheduledTask -TaskName $oTask.TaskName -TaskPath "\TO" -Xml $TaskXML.InnerXML
}
0
Grischa Zengel