找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29686|回复: 6

[文件操作] 批处理如何使用at命令延迟指定秒数后执行指定命令或程序?

[复制链接]
发表于 2016-6-16 23:54:04 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-6-17 00:05 编辑

使用At命令总是自己算时间,请问怎么获取本地时间,然后在当前时间基础上加上若干秒添加进任务队列?
例如:我想10秒以后运行"启动.bat"

评分

参与人数 1PB -4 收起 理由
pcl_test -4 发帖前先使用论坛搜索

查看全部评分

发表于 2016-6-17 08:00:51 | 显示全部楼层
at和schtasks创建任务计划只能精确到分,不能精确到秒。
Linux的crontab也是只能精确到分。
 楼主| 发表于 2016-6-17 13:14:05 | 显示全部楼层
回复 2# GNU


    那在schtasks命令当前时间加上若干分钟以后执行怎么做呢?
发表于 2016-6-19 15:59:30 | 显示全部楼层
回复 3# gd6570


    建议用vbs或js延时
发表于 2016-6-19 20:34:43 | 显示全部楼层
本帖最后由 WHY 于 2016-6-19 21:21 编辑

5分钟后的时间:
  1. set /a m=1%time:~3,2% %% 100 + 5, h=(%time:~0,2% + m/60) %% 24, m%%=60
  2. echo %h%:%m%
复制代码
发表于 2016-6-20 09:01:22 | 显示全部楼层
创建30秒之后执行的任务计划

  1. @echo off
  2. set OffsetSeconds=30
  3. set PSCMD=powershell -c "Get-Date (Get-Date).AddSeconds(%OffsetSeconds%) -uformat ""%%Y-%%m-%%d %%H:%%M:%%S"""
  4. for /f "tokens=1-2" %%i in ('%PSCMD%') do (
  5.     set "DstDate=%%i"
  6.     set "DstTime=%%j"
  7. )
  8. schtasks /create /ru system /sc once /sd %DstDate% /st %DstTime% /tn RunOnSeconds /tr "C:\test.bat"
复制代码
发表于 2016-6-20 09:56:53 | 显示全部楼层
我最喜欢用schtasks 把程序自身加入任务计划了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:50 , Processed in 0.019458 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表