仅当使用任务计划程序运行时,批处理文件才会返回“除以零错误”

仅当使用任务计划程序运行时,批处理文件才会返回“除以零错误”

我遇到了一个批处理文件问题,当且仅当使用任务计划程序运行时,它才会返回“除以零错误”。如果手动运行,它的表现与预期一致。

我设法将问题缩小到以下代码片段,该代码片段从任务计划程序运行时返回 0,然后导致除以零。

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

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

经过一个小时的绞尽脑汁,我找到了一个解决方案,虽然合乎逻辑,但肯定不是我首先想到的。因此,我分享了我的解决方案:

答案1

问题在于任务计划程序不从其自己的目录运行批处理文件,而是从 System32 运行。因此,只需添加

cd [relevant path]

到脚本的开头。

希望我可以帮助其他人避免经历同样令人沮丧的步骤。

相关内容