У меня есть командный файл длиной всего 3 строки.

То, что он делает, просто:

type C:\data\file.bak >> echo "" >> file.log.bak

cscript "C:\data\Move filesA.vbs"
cscript "C:\data\Move filesB.vbs"

В основном все, что он делает, это берет этот файл .bak и добавляет его к файлу .log.bak. Это просто текстовые файлы

Cscripts берет файл .bak и перемещает его в расположение на сервере.

type C:\data\file.bak >> echo "" >> file.log.bak был добавлен несколько часов назад. Сценарий запускается каждые 15 минут

При запуске от пользователя (двойной щелчок по файлу .bat) он работает нормально и без проблем копирует файл в файл .log.bak.

При запуске из задачи он не выполняет type C:\data\file.bak >> echo "" >> file.log.bak , но выполняет сценарии cscripts

Единственное, что я могу предположить, это то, что в Windows есть кэшированная версия командного файла, и он не запускает новый командный файл.

Есть ли подсказка, почему не запускается type C:\data\file.bak >> echo "" >> file.log.bak при запуске из запланированной задачи?

1 ответ1

0

Убедитесь, что запланированная задача запущена в каталоге.

При использовании относительных путей к файлам он не будет работать при запуске из другого каталога. Microsoft включила функцию, которая принимает команду и запускает ее в другом месте, а не там, где находится файл.

Дважды щелкните запланированное задание (или нажмите «Свойства»), перейдите на вкладку «Действия», затем отредактируйте действие (я). Оттуда вы увидите всплывающее окно с полем «Начать (необязательно)». Поместите каталог, в котором находится скрипт (или в какой каталог вы хотите запустить)

Всплывающее окно для изменения Пуск в каталоге

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