如何查找“计划任务”文件夹的位置

时间:2010-05-26 14:23:57

标签: windows scheduled-tasks

我在网上看过有关Windows中的“预定任务”存储在%SystemRoot%\Tasks中的参考资料,我认为这通常等同于C:\Windows\Tasks

但是,我发现虽然我的Windows 7系统上存在该文件夹,但计划任务不会使用它。

我的系统似乎使用C:\Windows\System32\Tasks

我研究过环境变量,似乎没有任何与Scheduled Tasks相关的内容。

如何查找用于计划任务的文件夹?

6 个答案:

答案 0 :(得分:39)

任务保存在文件系统和注册表

任务存储在3个位置:1个文件系统位置和2个注册表位置。

文件系统:

C:\Windows\System32\Tasks

注册表:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tasks
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Schedule\Taskcache\Tree

因此,您需要在这3个位置删除损坏的任务。

答案 1 :(得分:8)

对于Windows 7及更高版本,计划任务不是由cmd.exe运行,而是由MMC(Microsoft管理控制台)运行。 %SystemRoot%\Tasks应该适用于任何其他Windows版本。

答案 2 :(得分:6)

我想扩展@Jan回答:

似乎Task Scheduler 1.0 API使用C:\Windows\Tasks文件夹创建和枚举任务(this example),而Task Scheduler 2.0 API使用C:\Windows\System32\Tasks创建并枚举任务(this example)。

似乎Windows操作系统schtasks和GUI utilite taskschd.msc使用Task Scheduler 2.0 API

P.S。 我发现,如果C:\Windows\Tasks中的任务未设置AccountInformation,则任务将无法在Windows控制台中显示 gui调度员。如果你设置 AccountInformation(甚至""对于SYSTEM帐户)和设置标志TASK_FLAG_RUN_ONLY_IF_LOGGED_ON - 任务显示在所有标准应用程序中。

Solution found here

答案 3 :(得分:1)

MMC存在多个问题,但是在我的业务中几乎每台PC上,ask scheduler API都不会打开并且已经被破坏了。因此,您无法编辑,删除或以其他方式修改在API决定不再运行之前开发的任务。我们找到解决该问题的唯一方法是完全擦除C:\ Users \区域下的人员配置文件,并强制系统在用户重新登录后重新创建登录。这似乎解决了API问题和它再次起作用,但是由于开发的任务特定于用户而不是Windows 7中的机器,因此任务通常对该用户不再可见。另一个奇怪的事情是,有时虽然没有任何可以分析的频率,即使API已损坏且无法打开,任务仍会运行。这个问题的原因显然是未知的,但在各种网站上描述了许多“修复”,但删除和重新添加的用户配置文件似乎每次都至少工作一段时间。任务现在在WIN 7中保存为XML,因此如果您在system32 / tasks文件夹中找到它们,则可以删除它们,或将它们复制到新驱动器,然后将它们导回到任务计划程序中。我们使用Splinterware的系统调度程序软件,因为我们多次遇到相同的损坏问题,即使修复程序似乎不是永久性的。

答案 4 :(得分:1)

看起来TaskCache注册表数据在......

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache

...在我的Windows 10 PC上(即在 TaskCache 之前添加计划,并且在任务 C 之前添加 C C> )。

答案 5 :(得分:0)

在较新版本的Windows(Windows 10和Windows Server 2016)上,您创建的任务位于C:\Windows\Tasks。他们将使用扩展名.job

例如,如果您创建任务“DoWork”,它将在

中创建任务
C:\Windows\Tasks\DoWork.job