У меня была проблема с командным файлом, который возвращал "Ошибка деления на ноль" тогда и только тогда, когда он запускался с помощью планировщика заданий. Если запустить вручную, он вел себя как ожидалось.

Мне удалось сузить проблему до следующего фрагмента кода, который возвращал 0 при запуске из планировщика задач, а затем вызывал деление на ноль.

SET numfiles=0
FOR %%x in (*.jpg) DO SET /a numfiles+=1

SET /a rand=%RANDOM% %%numfiles%
SET /a selected=%rand%+1

После часа вырывания волос я нашел решение, которое, хотя и логично, конечно, было не первым, о чем я подумал. Поэтому я делюсь своим решением:

1 ответ1

1

Проблема оказалась в том, что Task Scheduler не запускает пакетные файлы из своих собственных каталогов, а из System32. Следовательно, проблема легко решается путем добавления

cd [relevant path]

к началу сценария.

Надеюсь, мне удалось спасти кого-то еще от необходимости проходить те же самые разочаровывающие шаги.

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