我遇到了一个批处理文件问题,当且仅当使用任务计划程序运行时,它才会返回“除以零错误”。如果手动运行,它的表现与预期一致。
我设法将问题缩小到以下代码片段,该代码片段从任务计划程序运行时返回 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]
到脚本的开头。
希望我可以帮助其他人避免经历同样令人沮丧的步骤。