Windows 如何安排每日任务以运行批处理文件?

Windows 如何安排每日任务以运行批处理文件?,windows,batch-file,cmd,scheduled-tasks,Windows,Batch File,Cmd,Scheduled Tasks,我正在尝试在Windows Server 2008上安排一项任务,以删除文件夹中的一些图像。我创建了一个批处理文件来执行此操作,我的代码如下: forfiles /s /m *.jpg /D -10 /C "cmd /c del @path" (我没有放置目录,因为我将批处理文件存储在要擦除图像的同一文件夹中,因此不需要这样做) 我的问题是在我试图安排此任务自动运行时。因为当我手动运行此文件时,它会成功地擦除图像,而且当我计划此任务时,条件是在管理员登录时运行它。当我指定运行该文件的条件时,问

我正在尝试在Windows Server 2008上安排一项任务,以删除文件夹中的一些图像。我创建了一个批处理文件来执行此操作,我的代码如下:

forfiles /s /m *.jpg /D -10 /C "cmd /c del @path"
(我没有放置目录,因为我将批处理文件存储在要擦除图像的同一文件夹中,因此不需要这样做)

我的问题是在我试图安排此任务自动运行时。因为当我手动运行此文件时,它会成功地擦除图像,而且当我计划此任务时,条件是在管理员登录时运行它。当我指定运行该文件的条件时,问题就出现了:管理员是否被记录,当然还有高权限。我不知道为什么在这种情况下,任务在我编程时开始运行,但它从未运行批处理文件,我可以在任务计划程序中看到我的任务正在运行,但什么也没有发生。有人有线索吗

我包括任务调度器的屏幕截图:


当计划任务运行时,即使没有用户登录,工作目录也会变成
C:\Windows\system32
。因此,您必须跳转到正确的目录,否则将找不到文件。此外,您必须使用
cd%~dp0
而不是
cd%cd%
,因为
%cd%
仍将是system32文件夹,而
%~dp0
将是批处理文件所在的文件夹

编辑:
抱歉,我刚刚意识到,Squashman已经给出了与评论相同的答案。

我想我会害怕至少不使用
%~dp0
来不分青红皂白地删除任务。我没有放置目录,因为我将批处理文件存储在要删除图像的同一文件夹中,所以它不是必需的)并不总是正确的,特别是在使用任务调度器时。但是我对批处理文件没有问题,因为当我手动运行它时,它的执行是正确的,还有,当我使用管理员登录选项进行计划时。
F:
是本地驱动器还是网络驱动器?当您选中复选框以运行用户是否登录时,任务将从工作目录
C:\windows\system32
开始。您需要在脚本顶部更改目录,或者使用
/P
选项和
for files