Windows 7 任务计划程序允许我在计算机空闲时运行任务,但是当计算机从空闲状态恢复或不再空闲时,似乎没有任何明显的方法来运行任务。
当计算机不再空闲时,肯定会在 Windows 中触发一些事件(事件日志?)?或者某种方法来捕获计算机不再空闲的事实,并通过计划任务响应它?
我该怎么做?
或者,在最坏的情况下,是否有命令行程序可以在计算机进入/退出空闲状态时调用命令或事件?
[更新:]我对 Diogo Rocha 的回复中的方法有效。我通过 py2exe 从这个脚本中创建了一个空的可执行文件:
import sys
import time
#restart a pause every twenty seconds, with two functions that call each other.
def call_pause():
pause()
def pause():
time.sleep(20)
call_pause()
call_pause()
Run Code Online (Sandbox Code Playgroud)
-- 并在 Windows 中设置一个计划任务,这是导出的 HTML:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2012-04-27T17:40:46.8871631</Date>
<Author>GENIUS-BREATH-COMPY</Author>
<Description>This task runs ProgA when the computer enters an idle state, and terminates ProgA when the computer *leaves* an idle state. The is all for scheduled TaskB, …Run Code Online (Sandbox Code Playgroud) 我想每小时更新一次 Windows Defender 的定义,并想出了使用任务计划程序执行带有签名更新参数的 Defender 更新服务的想法。
~/Windows Defender/MpCmdRun -SignatureUpdate
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但cmd每小时打开一个窗口,我想在后台静默运行它。
我知道可以通过注册表 mod 来增加更新频率,但不想在关键 Defender 更新之后一遍又一遍地进行黑客攻击,之后注册表会恢复到原始设置。
我对 cmd 参数不是很熟悉。我知道一些可执行文件与/silent后台启动的参数一起工作,但它没有帮助。我还能尝试或使用什么?
我正在尝试使用 Task Scheduler 每晚运行 Ruby 脚本。当我尝试运行脚本时,出现错误0x8007010B,似乎是Directory Name Invalid。我开始的目录是一个映射的网络驱动器。从命令行执行等效操作工作正常。这是我尝试执行的操作以及显示两个目录名称均有效的命令行窗口的一部分。

为什么任务计划程序声称目录名称无效?
你们中的许多人可能都熟悉这样一个事实,当一个新用户登录到 Windows 中的服务器时,将在任务计划程序中创建一个名为“优化开始菜单缓存文件-{SID}”的新任务,其 sid 为用户。
我猜这些任务与优化开始菜单有关。这听起来不是很重要。通常这些任务甚至被禁用。在多人使用的服务器上,Task Scheduler 有时会填满其中的许多任务,滚动浏览它们以查找您要查找的任务可能会很烦人。
删除这些任务有什么危害吗?
我的电脑每天都会自动唤醒(大概是为了更新),这对我来说很好,但它使我的房间升温了相当多,我宁愿不关机,特别是因为它会在睡眠模式下自动更新。我唯一的问题是,一旦它完成了它正在做的任何事情,它就不会让自己重新进入睡眠状态。有没有办法强迫它在完成后重新进入睡眠状态?
powercfg -lastwake 的输出:
Wake History Count - 1
Wake History [0]
Wake Source Count - 1
Wake Source [0]
Type: Wake Timer
Owner: [SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker)
Owner Supplied Reason: Windows will execute 'NT TASK\Microsoft\Windows\UpdateOrchestrator\Universal Orchestrator Start' scheduled task that requested waking the computer.
Run Code Online (Sandbox Code Playgroud) windows sleep wake-up windows-task-scheduler windows-10-v1903
我使用的是 Windows 7,我需要安排执行以下操作的每日备份:
我知道 Python 和 MSBatch,但我希望我不必为此编写脚本。是否有任何工具可以满足我的需要或至少是类似的功能?我可以使用 Windows 7 任务调度程序来执行这个,但我不知道它会执行什么程序。
根据此问题的已接受答案中的评论,我在运行调用 的计划任务时遇到问题shutdown.exe,即使用户是管理员。我正在使用他们的主帐户管理其他人的机器,所以我不能完全改变太多,因为他们喜欢他们本来的样子。
真正奇怪的是,我只能在以下情况下运行任务:
由于一些我不知道的奇怪原因,用户不仅必须是管理员,而且他们还必须拥有帐户密码才能运行计划任务。否则,我会收到拒绝访问错误并且任务无法运行。
如何在不必强制用户为其帐户定义密码的情况下进行这项工作?
本质上,剩下的目标是让计算机在每晚晚上 11 点关闭(无论谁登录或未登录)。
当我尝试在Scheduled Tasks程序中设置任务时,我遇到了以下错误:
尝试设置任务帐户信息时发生错误。
具体错误为:
0x8007005:访问被拒绝。
您无权执行请求的操作。
为了记录,这是我的安全策略,您可以看到我的用户具有强制关闭和手动关闭计算机的权限:

我想在闲置 15 分钟后锁定我的 win7 桌面。我还希望我的屏幕保护程序在 5 分钟的空闲时间启动。
我尝试使用在一定量的“空闲”时间后运行命令的程序,例如Idle Start或Idle Controller。然而,这些程序似乎会根据鼠标移动和键盘活动自行计算空闲时间。这将在我看电影时锁定我的屏幕。
当您观看视频时,您的鼠标和键盘处于空闲状态,但 Windows 知道不会启动屏幕保护程序或关闭您的显示器。
是否有任何方法可以将事件(锁定屏幕)附加到 Windows 使用的空闲计时器,即知道视频和游戏等的任何计时器?
或者,如果我可以在我的显示器关闭时锁定屏幕(已经设置为 15 分钟),那就太棒了。
如果有人不清楚,我不想让我的电脑睡觉。Windows 中有一些设置可以锁定屏幕:1. 在屏幕保护程序上,以及 2. 在唤醒时。这两个我都不想要。
我在问是否有人知道任何“神秘”技巧。任务计划程序或注册表黑客可以帮助吗?
我想从命令提示符(使用schtasks.exe)安排任务运行一次并在完成后从任务计划程序库中删除任务条目。
在查看了使用指南后,我决定使用这个命令:
schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC ONCE /ST 12:00 /Z
...但这给了我这个错误(我正在运行 Windows 10)
错误:任务 XML 缺少必需的元素或属性。 (40,4):EndBoundary:
在网上查了一下,我发现这篇 KB 文章建议使用/V1开关来消除错误,但在添加时,/V1我被要求提供当前用户密码来安排任务。我不想要那个。
有没有办法安排一个任务执行一次,然后在执行完成后从任务库中删除?
我试过这个,但没有用:
schtasks /create /TN SomeTaskName /TR "schtasks /delete /TN SomeTaskName /F" /SC ONCE /ST 12:00
我想出的一个有用的解决方案是这样的:
schtasks /create /TN SomeTaskName /TR "notepad.exe" /SC MINUTE /MO 1 /ST 12:00 /ET 12:02 /Z
它具有在停止之前执行任务三次的副作用。
我希望所有(或选定的)用户/管理员查看/编辑/运行相同的任务。似乎每个用户/管理员只能看到自己的任务,而不是其他用户的任务。
这让我很困惑,因为在 Linux 上,具有正确权限的用户可以查看/更改所有 cron 作业。因此,作业与机器相关联,而不是与机器上的用户相关联。
windows scheduled-tasks task-scheduler windows-task-scheduler windows-10
windows ×5
windows-7 ×3
windows-10 ×2
7-zip ×1
backup ×1
lock-screen ×1
screensaver ×1
sleep ×1
wake-up ×1
windows-8 ×1
windows-xp ×1