Windows把计划任务控制台的设置存储在哪里?

27

我想知道Windows存储计划任务信息的位置。我想能够找到与给定任务相关联的名称、时间表或要运行的命令的参考文献。这可能不切实际或不可能,但我也想以某种方式在计划任务控制台之外编辑计划任务及其属性。我假设数据会在注册表中的某个地方,因为我怀疑它不会存储在普通文件中,但我不确定应该在哪里查找。

3个回答

53

Windows将定期任务存储为XML文件,并且存储在注册表中。

可以在以下位置找到它们:

文件系统:

%systemroot%\System32\Tasks
%systemroot%\Tasks

注册表:

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

注意:出于安全原因,您不能直接编辑 \Tasks 中的 XML 文件。有关更多信息,请参见此处:https://serverfault.com/questions/440496/ok-to-edit-tasks-xml-file-in-c-windows-system32-tasks

要使用导入XML文件而不通过定期任务UI进行,则可以查看以下内容:

Schtasks.exe
Powershell定期任务Cmdlets


非常好的回答!我可以问一下,您是否知道在计划任务的用户基础位置中,例如HKCU用户配置文件或类似的位置中是否存储了任何按用户存储的内容?我简要地查看了HKCU和用户配置文件,但没有找到任何明显的东西——虽然只是轻微的努力——如果您直接知道,希望能节省一些时间 :-)。 - Stein Åsmul
也许还需要添加一个文件夹:%SystemRoot%\SysWOW64\Tasks。而且 Powershell 的链接已经失效了。 - Stein Åsmul

3
在Windows 7中,计划任务存储在位于“Windows\System32\Tasks”下的文件中。这些文件是XML格式,因此您可以在那里创建和编辑任务文件。
其他版本的Windows中,我认为它们存储在“%SystemRoot%\Tasks”中。

2
在XP系统下,任务存储在c:\windows\tasks目录中,但文件本身的扩展名为“job”,并且受到编辑保护(因此我不知道它们是二进制还是ASCII格式)。 - No'am Newman

3

我需要在系统构建的最后部分,以脚本的形式删除一些任务。

我发现你可以直接删除它们,例如:

@echo ..Audit hardware

"\\vs-files\General\0000 IT\Bginfo.exe" "\\czwgbak\Software\_Build2015\AuditWorkstation.bgi" /timer:0 /Silent /NOLICPROMPT

@echo delete Scan Setup inis

If not exist %systemroot%\System32\Tasks\ASUS\nul goto reg
rd %systemroot%\System32\Tasks\ASUS /S /Q

:reg

etc...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接