求一个批处理命令,自动获取系统时间,然后在系统时间里加10秒钟,赋值给at time命令以实现功能

 我来答
sudoku52
2011-10-17 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4867万
展开全部
at 命令好像不支持秒, 下面的代码默认是分钟加1(n=1)
@echo off
set /a n=1
echo aa=dateadd("n",%n%,now)>t.vbs
echo CreateObject("WScript.Shell").Run "cmd /c echo "^&aa^&">t.txt",^0>>t.vbs
t.vbs
ping -n 1 127.1>nul
for /f "tokens=2" %%i in (t.txt) do at %%i notepad
del t.vbs t.txt
己闻楣Sx
2011-10-17 · TA获得超过1935个赞
知道大有可为答主
回答量:1057
采纳率:93%
帮助的人:908万
展开全部
@ECHO OFF
SETLOCAL
SET NOW=%TIME%
ECHO NOW---%NOW%>&2
FOR /F "UseBackQ Delims=: Tokens=1-3" %%A IN (`ECHO %NOW%`) DO (
SET Hour=%%A
SET Minute=%%B
SET Second=%%C
)
SET H0=%Hour:~0,1%
IF "%H0%" == "0" SET Hour=%Hour:~1,1%
SET M0=%Minute:~0,1%
IF "%M0%" == "0" SET Minute=%Minute:~1,1%
SET MS=%Second:~3,1%
SET Second=%Second:~0,2%
SET S0=%Second:~0,1%
IF "%S0%" == "0" SET Second=%Second:~1,1%
IF %MS% GEQ 5 SET /A Second+=1
SET /A Second+=10
IF %Second% GEQ 60 (
SET /A Second-=60
SET /A Minute+=1
IF %Minute% GEQ 60 (
SET /A Minute-=60
SET /A Hour+=1
IF %Hour% GEQ 24 SET /A Hour-=24
)
)
SET After10s=%Hour%:%Minute%:%Second%
ECHO After10s---%After10s%>&2
AT %After10s% "具体命令"
ENDLOCAL
追问
万分感谢,只是最后跟进at 命令后无反应,是不是at 命令只能精确到分钟。如果改成1分钟后执行该怎么修改
追答
at是个过气的东西了,微软早已推荐使用schtasks.exe来替代它了,建议你研究一下schtasks,执行schtasks /?、schtasks create /?等来获取帮助。
上述繁琐的批处理就当是在简陋的命令中实现时间增量的方法吧,其中比较麻烦的是避开8进制数的干扰——set命令进行整数运算时,以0开头的将被认为是8进制,08、09将导致失败——详见set /?之说明。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式