中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [原创]发一个自动计时的bat 上一主题 | 下一主题
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『楼 主』:  [原创]发一个自动计时的bat

上次来的时候,有人问怎么让一个程序,在设定的时间后运行,今天我写了一个,发上来,大家一起改进。


@echo off
:lp
cls
echo.
setlocal enabledelayedexpansion
echo The time now is: %time%
echo.
set si[1]=%time%
echo Press any key to see the result.....
pause >nul

::Select var
   set  th[1]=!si[1]:~0,2!
rem select hour
   set  tm[1]=!si[1]:~3,2!
rem select minute
   set  ts[1]=!si[1]:~6,2!
rem select second
   set  tms[1]=!si[1]:~9,2!
rem select milisecond

:: add one minute to origin.   
::[color=red]这里,你可以自己设定隔多久运行某个程序[/color]
   set /a tm[1]%+=1

::Check output
if "%tm[1]%" equ "60" (set /a th[1]%+=1)
::[color=red]如果大于60分钟,就将小时数加一[/color]

echo.
echo The latest time is: %th[1]%:%tm[1]%:%ts[1]%
echo Attention,the xxx program will run at this time!
pause>nul
goto :lp


[ Last edited by scriptor on 2007-9-14 at 04:07 PM ]

2007-1-13 23:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

楼主这样还要看是12小时制或24小时制吧!

2007-1-14 03:06
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 3 楼』:  

哦,对了
我忘记了

因为我的就是24机制的

那么我想一下,看要不要改一下

2007-1-14 03:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 4 楼』:  

你发一个12进制的时间格式给我
我不知道他的格式

或许就只是多了一个

am 或是 pm吧

2007-1-14 03:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
piaoye0605
新手上路





积分 18
发帖 9
注册 2007-1-4
来自 山东
状态 离线
『第 5 楼』:  

试以下

2007-1-15 04:16
查看资料  发送邮件  发短消息 网志  OICQ (304827203)  编辑帖子  回复  引用回复
piaoye0605
新手上路





积分 18
发帖 9
注册 2007-1-4
来自 山东
状态 离线
『第 6 楼』:  

嘿嘿,听好的!!!

2007-1-15 04:16
查看资料  发送邮件  发短消息 网志  OICQ (304827203)  编辑帖子  回复  引用回复
frankwz
初级用户





积分 41
发帖 22
注册 2007-4-12
状态 离线
『第 7 楼』:  

强人啊

2007-4-14 09:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
frankwz
初级用户





积分 41
发帖 22
注册 2007-4-12
状态 离线
『第 8 楼』:  

强人啊

2007-4-14 09:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gne
初级用户




积分 77
发帖 45
注册 2007-8-3
状态 离线
『第 9 楼』:  

又不行啊。。。。



因为喜欢,所以无悔!
2007-12-31 20:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

使用计划任务(at或者schtasks)无法满足要求吗?



2007-12-31 21:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 11 楼』:  

计划任务是个风险程序

2007-12-31 22:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qita123456
新手上路





积分 12
发帖 5
注册 2007-2-27
状态 离线
『第 12 楼』:  

if %time:~0,2% LEQ 5 echo It's time to do something
如果时间在5点之前就启动命令

2008-4-14 15:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xuye
初级用户





积分 79
发帖 34
注册 2008-4-2
状态 离线
『第 13 楼』:  [求助]! 帮我看看这个批处理如何修改!!!

这是我看了别人的批处理后自己制作的一个定时关机bat.

@mode con cols=90 lines=35&color 1f
@echo off  
call :cl
goto input
:1
title  定时关机 !  made by:小野
cls
echo 当前时间:%date% , %time%
echo\&echo 请输入定时关机时间。 (需要24小时制,如17:30  :请使用英文标点)&echo\&echo\
echo 如果要返回菜单功能,按 0 后回车!
echo.  
set tim=
set /p tim=请输入关机时间:
if "\%tim%\"=="\0\" call :cl&goto input
at %tim% /interactive shutdown -s -c "要取消关机请在功能菜单中选择取消关机功能!!"  >nul
if errorlevel 1 cls&echo * 输入错误,请重新输入! &goto 1
echo.
echo.
echo.
echo.
echo ================设置成功!!!==============================
echo.
echo ======关机前记得保存好文档或其他要保存的东东哦!  ^_^=====
ping -n 2 127.1>nul
call :cl
goto input
:2
shutdown -a
cls
echo.
echo.
echo.
title   取消关机成功!! made by:小野
echo.
echo=======================取消关机成功!!!==================
echo.
echo.
echo.
ping -n 2 127.1>nul
goto input
:4
cls
title  功能说明    made by: 小野
echo.
echo.&echo.&echo.&echo.&echo.&echo.
echo ※※※※※※※※※※※※※※※※功能说明:※※※※※※※※※※※※※※※※※※※※※※
echo.
echo.
echo ◇◇◇◇定时关机:  定时关机功能只能在同一天内使用,它可以在同一个时间段内输入多个关机时间,系统会自动按时间顺序启动关机时间(即在第一个关机时间被取消后,在第二个关机时间启动会被自动启动,依次类推!)。设定关机时间后可在功能菜单下面的“你设定的关机时间是:”查看设定的关机时间。
echo.
echo ◇◇◇◇取消关机:  取消关机是在弹出关机倒计时窗口使用才有效!!在没有弹出窗口之前使用虽然会显示取消关机成功,但实际并没有取消定时关机功能,时间一到还会启动定时关机功能!!
echo.
echo ◇◇◇◇退出:      退出程序窗口!!
echo.
echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo\&echo.&echo.
pause
goto input

:3
cls&exit
:input
cls
title 功能代码号选择!  
cls
call :card
echo\&echo\&echo\
echo 请输入功能代号:
echo.
set sel=
set /p sel=
if "\%sel%\"=="" goto input
call :%sel%
if errorlevel 1 cls&echo\&echo\&echo\&echo\&echo ========= ☆★输入错误命令,想忽悠在下?!★☆======&call :cl&goto input
:cl
for /l %%i in (1,1,40) do (
echo\
for /l %%a in (1,1,250) do ver>nul
)
goto :eof  
:card
title      功能菜单!  made by: 小野
echo\&echo\&echo.                       
echo\&echo\&echo                                       功能菜单:
echo                ▲△△△△△△△△△△△△△△△△△△
echo                ▲                                  ▲
echo                ▲        1=定时关机                ▲
echo                ▲                                  ▲
echo                ▲         2=取消关机               ▲
echo                ▲                                  ▲
echo                ▲          3=退出                  ▲
echo                ▲                                  ▲
echo                ▲           4=功能说明             ▲
echo                ▲                                  ▲
echo                △△△△△△△△△△△△△△△△△△▲                                   
echo.
echo.
echo.   
echo         (注释:等号左边的为功能代号,请输入左边的的代号!&echo\           
echo               取消关机功能只能在弹出关机倒计时窗口时使用有效!!)
echo.
echo.
echo.
echo             你设定的关机时间是: %tim%     
      

我试了一下定时可以,取消关机也可以,但正如我说明所说的,取消关机必须在弹出关机倒计时窗口是才能取消,有没有办法在设定时间后弹出倒计时窗口之前选择取消关机键能够取消定时关机功能。还有如何修改能够让最后一个语句在设定时间后才在功能菜单中显示。
最后,我使用这个 bat 发生过这样的是我在时间设定那里同以时一间段设定了两个关机时间而且这两个时间相隔一分钟,在第一个关机时间的时候刚开关机程序正常运行,但关到一半就发生了黒屏现象,电脑不会卡死,却无法退出黒屏,这是什么原因?
希望各位高手指教一下!!
还有设定关机时间后即使关机后重启,在到了设定时间也会关机。对吗?

2008-4-14 19:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: