Назад | Перейти на главную страницу

Что вызывает ошибку запланированной задачи 2147942402?

Server 2008 R2 (полностью пропатчен)

Я пытаюсь запустить запланированную задачу для перемещения файлов указанного типа из C: \ Windows \ Temp в E: \ Foo_blah_blah_blah_blah \ Foo2, и по какой-то причине получаю следующую ошибку:

Планировщику задач не удалось запустить экземпляр "{fe0f148a-cece-44a0-a4d1-914aaf21daa8}" задачи "\ Переместить временные файлы" для пользователя "FOOBOX \ Administrator". Дополнительные данные: значение ошибки: 2147942402

Есть идеи, почему это происходит?

Дополнительные детали:

Если я запустил ту же команду move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\ из командной строки Windows он работает нормально.

Что мне не хватает?

Как отметил Райан Райс, 2147942402 переводится как «Файл не найден», что является очень подходящим ответом. Попробуйте нажать Win + R, введите «переместить» и нажмите клавишу ВВОД - это интерактивный эквивалент того, что ваша задача не выполняет.

Причина в том, что MOVE это не программа, а собственная команда в cmd.

Так должно быть:

Программа: "cmd.exe"
Аргументы: "/c move C:\Windows\Temp\*.foo E:\Foo_blah_blah_blah_blah\Foo2\"

Причина в том, что задача настроена на удаление, если повторный запуск не запланирован. Это настраивается на вкладке «Настройки». Удаление Задачи выполняется во время истечения срока действия триггера, запускающего Задачу. Если время истечения триггера точно такое же, как время начала триггера, может (случайно) случиться так, что Задача будет удалена за несколько секунд до срабатывания триггера. Это вызывает событие 101 с кодом причины 2147942402. Решение состоит в том, чтобы установить время истечения триггера на 1 минуту позже, чем время начала триггера.

Ответ, который опубликовал Матиас, помог мне разобраться в моей проблеме.

Я поместил всю командную строку в поле «Программа», путь и аргументы вместе; Я не заметил, что было отдельное поле ввода «Args». Когда я разделил аргументы и ввел их по отдельности, моя запланированная задача работала как чемпион.

Диагностика: ОС искала программу под названием "C:\bin\someprog.BAT connect keep" вместо того, чтобы искать "C:\bin\someprog.BAT" и вызывая это с аргументами connect keep.

Моя ошибка, теперь исправлена.

Возможно, проблема в пробелах в примере строки заказа:

C: \ Program Files \ Wireshark \ Wireshark.exe -i1 -k СБОЙ

"C: \ Program Files \ Wireshark \ Wireshark.exe" -i1 -k ОК