Запуск .BAT файла в планировщике заданий — что следует учитывать

Запуск BAT файлов через планировщик заданийМногие пользователи Windows однажды приходят к использованию планировщика заданий для автоматизации тех или иных действий. Несмотря на то, что создание заданий и настройка условий их выполнения — не слишком сложная задача, иногда возникают сложности, например, при использовании BAT-файлов с набором команд в планировщике заданий.

В этом материале подробно о том, как решить возможные проблемы при запуске сценариев BAT в планировщике заданий Windows 11/10 и других версий и что следует учитывать, если что-то работает не так, как ожидается.

Особенности запуска .BAT файлов в планировщике заданий

В базовом сценарии пользователь, желающий добавить выполнение BAT файла в планировщике заданий, запускает его (Win+R — taskschd.msc) нажимает «Создать задачу», при необходимости включает выполнение с наивысшими правами и от нужного пользователя, устанавливает триггеры и прописывает путь к файлу сценария BAT на вкладке «Действия».

Создание действия в интерфейсе планировщика заданий Windows

При этом в некоторых случаях этого может быть достаточно и всё работает исправно, но иногда возникают проблемы, которые можно описать как: BAT исправно работает при запуске вручную или из cmd, но не через планировщик заданий.

Часто работающее быстрое решение проблемы в такой ситуации (работает во многих случаях) — при создании действия использовать не путь к файлу .BAT в поле «Программа или сценарий», а следующий подход:

  • Указать cmd.exe в поле «Программа или сценарий»
  • В поле «Добавить аргументы» прописать
    /c start "" "путь_к_файлу.bat"
Действие для BAT файла в планировщике заданий

Однако и этого может быть недостаточно для исправной работы, всё зависит от конкретного сценария. Причина — некоторые особенности выполнения BAT (и других заданий) через планировщик:

  1. По умолчанию рабочая папка выполняемого задания —
    %SystemRoot%\System32
    независимо от того, где располагается сам файл .BAT. Вы можете изменить рабочую папку создавая действие в Планировщике, либо использовать абсолютные пути в командах вместо относительных.
  2. При конфигурации задания следует учитывать права учетной записи, из-под которой выполняется задание (настраивается в разделе «Параметры безопасности» на вкладке «Общие»). Локальный администратор или учетная запись «Система» может не иметь доступ к сетевым расположениям, учетная запись обычного пользователя — к системным папкам и папкам других пользователей. Кроме этого, если BAT файл получает дату и время, их формат также будет определяться учётной записью.
  3. Если BAT-файл обращается к переменным среды пользователя, их список и значения также будут зависеть от того, под какой учётной записью выполняется задание.
  4. Часто при попытке получить доступ к сетевому расположению из BAT-файла, выполняемого через планировщик заданий возникают ошибки. Решение — выполнить подключение к сетевому расположению прямо в BAT (в примере монтируется как X:):
    %SystemRoot%\System32\net.exe use X: \\ИмяКомпьютера\ИмяОбщейПапки пароль /user:Домен\Учетная_запись
    по завершении задания при необходимости отключить расположение используйте команду:
    %SystemRoot%\System32\net.exe use X: /delete /yes

Для большинства заданий работает либо запуск с использованием cmd.exe, как было описано выше, либо указание рабочей папки.

Ещё несколько нюансов, которые следует учитывать:

  • Путь к рабочей папке не следует брать в кавычки. По некоторым отзывам, поведение также может зависеть от наличия/отсутствия закрывающего слэша в пути к рабочей папке. Также может иметь смысл выполнить переход к нужной рабочей папке в самом сценарии:
    cd диск:\путь\к\папке
  • Задания могут не выполняться при питании от батареи, если не изменить соответствующие настройки на вкладке «Условия».
  • Не забывайте выбирать нужного пользователя на вкладке «Общие», а если требуются права администратора — включать отметку «Выполнять с наивысшими правами» на той же вкладке.
  • В некоторых случаях задания, где включено «выполнять для всех пользователей» могут работать неправильно. Проверьте, работает ли задание если изменить параметры безопасности на «Выполнять только для пользователей, вошедших в систему».

Если у вас не работает что-то в части запуска .BAT файлов в Планировщике заданий, вы можете описать ситуация в комментариях ниже, постараемся разобраться.

Оставить комментарий

Интересное
Список инструкций Windows 11 Windows 10 Подписаться