我遇到了一个奇怪的问题,它开始发生在 Windows Server 2012 R2 上的任务计划程序中。
很多计划任务都有同样的问题。几周前我检查过,一切都很好,但现在好几个机器上都出现了这个问题。
运行计划任务时,它有一个动作:启动一个程序。这个程序是一个批处理文件(带有.CMD
扩展名,但我尝试过使用.BAT
扩展名;同样的问题)。任务运行正常,但运行任务时,文件通常(大约 90% 的时间)被删除!实际上,它更像是“影子删除”,因为之后,直到重新启动计算机,同名文件才能写入.BAT
/.CMD
文件所在的目录(“目标文件夹访问被拒绝”,即使具有管理员权限)。看起来该文件仍在某个内存缓存中,但它没有出现在 Windows 资源管理器中,也无法在命令行中找到。
无论任务是通过时间表自动触发还是手动触发,都会发生这种情况。
我可以理解由于权限错误导致任务运行失败的可能性(尽管几周前它运行正常,并且任务做在文件被影子删除之前成功运行了一次!),但它究竟为什么会影子删除批处理文件呢?
我发现另一个人遇到类似问题,但他们通过重新创建任务解决了该问题:https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/windows-7-bug-task-scheduler-deleting-task-bat/33ecfb3e-d22e-4c1b-bc71-076391bcd1ba
我尝试过,但问题仍然相同。
答案1
原来是 Avast 检测出这些脚本是病毒并将其删除。必须对其进行配置,以允许.CMD
任务计划程序运行这些文件。