У меня есть следующий код в пакетном файле:Как запустить командный файл с циклом в качестве запланированной задачи?
for /F "tokens=1,2" %%a in (%CD%\clients.txt) do (
start "My Task" /d "%CD%" /b php -f "%CD%\task.php" "%%a" "/%%b"
)
Если я запустить командный файл вручную из командной строки, он отлично работает. Однако, если я запускаю его как запланированное задание, он не работает и отображается результат последнего запуска (0x2). Обратите внимание, что если я удалю цикл из значений кода и жесткого кода для переменных в процессе, который будет запущен, задача будет выполнена нормально.
Я также заметил, что любая простая операция с файлом, такая как echo test> log.txt, кажется, не запускается, когда пакетный файл выполняется запланированной задачей, но работает вручную. Я попытался настроить запланированную задачу на «Выполнять с наивысшими привилегиями», не исправляет ее. Я также установил параметр «Начать в» для запланированного действия задачи в каталог, где находятся PHP и текстовые файлы, и это тоже не работает. У меня заканчиваются идеи, мысли?
Если бы мне пришлось угадать, '% CD%' не то, что вы думаете (это относится к * текущему каталогу *, который не обязательно является каталогом, в котором находится пакетный скрипт). – iCodez
Спасибо! Это поставило меня на правильный путь, и я понял это. Решение опубликовано в ответ. – Rocket04