Скрипт, который для Windows Server 2003 (в котором нет Get-ScheduledTask): 
1. Останавливает запущенные задания 
2. Переносит логи рекурсивно не сохраняя структуры директорий 
3. Запускает остановленные задания 
Bat файл для запуска
@ECHO OFF
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '%~dpn0.ps1'"
PAUSEСкрипт Powershell
$Source = "C:\Work\bat\source"
$Target = "C:\Work\bat\target"
Write-Host "Stoping tasks"
$scheduledTasks = schtasks /query /fo csv | ConvertFrom-Csv
$runningTasks =@()
foreach($task in $scheduledTasks) 
    {
 if ($task.Status -eq 'Running' -and $task.taskName -eq 'testTask') {
  $runningTasks += $task.taskName
  Write-Host $task.taskName " will be stopped"
  schtasks /END /TN $task.taskName
  }
 }
Write-Host "Moving files from $Source to $Target"
Get-Childitem $Source -recurse -include *.txt | Move-Item -destination $Target -force 
Write-Host "Starting Tasks"
if ($runningTasks.count -gt 0) {
 foreach($runningTask in $runningTasks)
   {
   Write-Host "$runningTask starting"
   schtasks /RUN /TN $runningTask  
   }
 }