タスクスケジューラの設定をエクスポート/インポートする

poweshellのスクリプトで実現します。
実行するには管理者権限が必要です。

エクスポート

$outPathは書き換えてください。

表示しない(E)がONになってるものは出力されないので、チェックは外してください


エクスポート.ps1

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit }

$outPath = "C:\Users\hogehoge\Desktop\tasks"
$outtask = "\"
$outFileName = "{0}.xml"

$sch = New-Object -ComObject("Schedule.Service")
$sch.Connect("localhost")
$tasks = $sch.GetFolder("$outtask").GetTasks(0)
 
$outfile_temp = Join-Path $outPath $outFileName
 
$tasks | %{
$xml = $_.Xml
$task_name = $_.Name
$outfile = $outfile_temp -f $task_name
$xml | Out-File $outfile
}

インポート

$XmlinPathは書き換えてください。
$TaskinPathも適当に変えてください。タスクスケジューラ内のこのフォルダにインポートされます。

インポート.ps1

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit }

$XmlinPath = "C:\Users\hogehoge\Desktop\tasks\"
$TaskinPath = "\hoge\" 

$tasks = Get-ChildItem  "$XmlinPath\*.xml" -name

foreach ($i in $tasks)
  {
    schtasks /create /XML $XmlinPath$i /TN "$TaskinPath$i".Replace(".xml","")
  }