at命令无法直接指定“今天下午三点半”,必须用24小时制(如15:30)并显式写出完整日期(如06/18/2024),且新版windows已禁用该命令,推荐使用schtasks替代。

在 Windows 的 at 命令中,**无法直接指定“今天下午三点半”这种带日期和具体时间的表达**,因为 at 要求明确写出日期(年/月/日)或使用相对日期关键词(如 today、tomorrow),且时间格式必须为 24 小时制,不支持中文或“下午”这类表述。
确认系统是否支持 at 命令
at 在较新版本 Windows(如 Win10/Win11 默认安装)中已被禁用或移除,它依赖“Task Scheduler”服务且需以管理员身份运行。若执行 at 提示“不是内部或外部命令”,说明该命令不可用——此时应改用 schtasks。
使用 at 命令(仅限仍启用该功能的老系统)
假设你使用的是 Windows Server 或已启用 Task Scheduler 服务的旧版 Windows,且拥有管理员权限:
- 打开命令提示符(管理员)
- 输入命令(注意:日期必须写全,例如今天是 2024/06/18):
at 15:30 /next:06/18 "C:\scripts\maintenance.bat" - 或更稳妥地写成:
at 15:30 06/18/2024 "C:\scripts\maintenance.bat" - 其中
15:30是 24 小时制,“下午三点半”必须转为15:30;日期不能省略,at不识别today关键字
推荐替代方案:用 schtasks 创建一次性任务
这是当前 Windows 的标准做法,更可靠、功能更强:
- 管理员命令提示符下运行:
schtasks /create /sc once /tn "TempMaintenance" /tr "C:\scripts\maintenance.bat" /st 15:30 /sd %date:~6,4%%date:~3,2%%date:~0,2% - 说明:
/sc once 表示一次性任务
/st 15:30 设定开始时间为当天 15:30
/sd 后接日期,%date%变量自动提取当前日期(格式需适配,如 20240618);若不确定格式,可手动写成/sd 2024/06/18 - 执行后会提示“成功创建计划任务”,可通过
schtasks /query /tn "TempMaintenance"查看
注意事项
确保维护脚本具有执行权限;路径中避免空格或使用英文引号包裹;如果脚本依赖环境变量或当前目录,建议在 bat 中显式切换路径(如 cd /d C:\scripts);任务默认以 SYSTEM 身份运行,如需用户上下文,加参数 /ru "DOMAIN\username" 并提供密码(/rp)。











