6

У меня есть идентичные запланированные задачи, работающие в Windows XP Pro и Windows 7. XP Pro работает нормально, Windows 7 всегда возвращает 0x2 (что означает: "Система не может найти указанный файл"; однако выполнение из командной строки не вызывает проблем) в столбце "Результат последнего запуска" пользовательского интерфейса планировщика задач ,

Запланированное задание выполняет файл .bat ежедневно. Файл .bat содержит вызов для выполнения сценария Perl. Как я уже говорил в предыдущем абзаце, он работает под XP без каких-либо проблем, но под Windows 7 - без кубиков.

Задача в Windows 7 настроена на «запуск независимо от того, вошел пользователь в систему или нет». В данном случае это я, я единственный пользователь системы. Также установлено «Запускать с наивысшими привилегиями». И это не скрыто. Файл .bat прекрасно работает из командной строки - он вызывает скрипт Perl, как и ожидалось, и скрипт Perl делает свое дело.

Я искал повсюду в поисках подходящего ответа на этот вопрос. Пока ничего не нашел. Что, черт возьми, происходит с этой запланированной задачей Win7? Я готов вырвать мои волосы.

5 ответов5

6

У меня тоже была эта проблема. 0x2 из планировщика задач, похоже, сказал, что не может найти командный файл. Это было неверно - я добавил несколько конвейерных стрелок (>>) для вывода моего командного файла в файл журнала, а затем запустил запланированное задание.

Несмотря на получение 0x2 в планировщике задач, я обнаружил, что пакетный файл действительно выполнялся, но обнаружил ошибку (которая появилась в лог-файле).

Еще одна вещь, которую нужно попробовать - это запустить задачу как SYSTEM или NETWORK SERVICE.

3

У меня была такая же проблема, и я решил ее. На вкладке «Действия» в разделе «Программа / сценарий» просто введите имя своего пакетного файла. В разделе «Начать с (необязательно):» укажите путь к файлу без кавычек и без косой черты.

Пример ниже для запуска файла test.bat из тестовой папки в корне C:

Программа / скрипт: test.bat

Пуск в (необязательно): C:\Test

1

Я пытался синхронизировать пару папок с SyncToy 2.1 на двух рабочих станциях с Windows 7 SP1. Сначала я просто просмотрел файл и добавил аргументы для задачи. Он вернул код 0x2 . Microsoft TechNet рекомендует использовать поле "Начать с", чтобы убедиться, что имя файла разрешено в правильное местоположение. Я скопировал путь к каталогу SyncToy без кавычек или косой черты в поле "Начать с", сохранил его и запустил задачу. Результатом стал успех, код 0x0 !

1

В моем случае я использовал подключенный диск в качестве места назначения, но диск не отображался в контексте сценария (пользователь вышел из системы), поэтому мне пришлось сопоставить диск внутри сценария, прежде чем я смог использовать это сопоставление.

Пример:

@echo off
net use Z: \\server\share /u:domain\username *password*
robocopy c:\folder Z:\backup /o /p /t /i /o /n /s
0

Подобно @Levi, я использовал подключенный сетевой диск. Однако в моем случае более простым решением было изменить его, используя UNC-пути. Например, вместо использования этого аргумента:

"W:\blah\script.py"

Я сейчас использую этот аргумент:

"\\file-server-02\path\blah\script.py"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .