中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 22:22
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 中国奥运!ZWzw19750516 的作品(VISTA下会出错!)
可打印版本  990 / 13
第1楼 yinjie1755 发表于 2008-05-31 00:24
初级用户 发帖 32 积分 76
中国奥运!ZWzw19750516 的作品(VISTA下会出错!)
@echo off&color ec&mode con cols=50 lines=10
title 这是我们每一个中国人的心声!!!
echo.&echo.&echo.
echo 打倒一切阻挠奥运的反动势力,全力支持奥运!
echo.
for /l %%i in (1,1,100) do call,set cls=%%cls%%
goto one
:two
set n=2&set var=08-07&goto begin
:one
set n=1&set var=%date:~5,-4%
:begin
set month=%var:~1,1%&set number=29
set /a month-=1
for /l %%i in (1,1,%month%) do call :lp %%i
set /a number+=100%var:~3,2%%%100
set str=%str% %number%
if not %n% equ 2 goto two
for /f "tokens=1,2" %%i in ("%str%") do set /a day=%%j-%%i
set /a hm=100-1000%time:~9,2%%%1000,m=60-100%time:~6,2%%%100,f=60-100%time:~3,2%%%100,s=43-%time:~,2%
if %hm% equ 100 set /a hm-=100,m+=1
if %m% equ 60 set /a m-=60,f+=1
if %f% equ 60 set /a f-=60,h+=1
if %s% geq 24 set /a s-=24,day+=1
set /p= 离北京奥运开幕还有%day%天%s%小时%f%分%m%秒%hm%毫秒<nul
set /p=%cls%<nul
set n=0&set number=0
goto begin
:lp
for %%i in (1,3,5,7,8,10) do if %%i equ %1 set /a number+=31
for %%i in (4,6,9,11) do if %%i equ %1 set /a number+=30



===========================
@echo off&color 0a&mode con cols=50 lines=10
title 请输入您的OK代码
echo.
echo 请输入你的测试代码号
echo.
set/p a=

echo Operator:%a%>operator.log
echo.
echo 代码号为:%a%,请按任意键退出!

pause>nul2>nul

[ Last edited by yinjie1755 on 2008-5-31 at 12:25 AM ]
第2楼 terrytong 发表于 2008-06-02 15:36
中级用户 发帖 115 积分 240
这个P为什么会退出啊?
看里面的程序,不知道是怎么退出的,应该是个死循环啊。
第3楼 bat-zw 发表于 2008-06-02 17:51
金牌会员 发帖 1,276 积分 3,105
Originally posted by terrytong at 2008-6-2 15:36:
看里面的程序,不知道是怎么退出的,应该是个死循环啊。

这个批本来就没设置退出,要退出直接关闭窗口就是的啊,再说这个批不设置成重复的循环是运行不了的。
----------------------------------------------------------------------------------------------------------
源码已优化在7楼。

[ Last edited by zw19750516 on 2008-6-3 at 12:37 PM ]
第4楼 bat-zw 发表于 2008-06-02 17:54
金牌会员 发帖 1,276 积分 3,105
Originally posted by yinjie1755 at 2008-5-31 00:24:
@echo off&color ec&mode con cols=50 lines=10
title 这是我们每一个中国人的心声!!!
echo.&echo.&echo.
echo 打倒一切阻挠奥运的反动势力,全力支 ...

我写这个批的环境是xpsp2,也没用过vista,应该是系统时间的设置上会有所不同,所以才会出错。
第5楼 terrytong 发表于 2008-06-03 10:59
中级用户 发帖 115 积分 240
它还是会自动退出啊?
运行了大概10秒钟就自动退出了,我想不通它是怎么退出的。
zw19750516兄,你能解释 一下吗?我想让它一直运行,除非是人为退出。谢谢!
第6楼 bat-zw 发表于 2008-06-03 11:22
金牌会员 发帖 1,276 积分 3,105
Originally posted by terrytong at 2008-6-3 10:59:
运行了大概10秒钟就自动退出了,我想不通它是怎么退出的。
zw19750516兄,你能解释 一下吗?我想让它一直运行,除非是人为退出。谢谢!

是还有问题,退出时的报错信息为“输入行太长”,我将会处理并完善的,请等待。
第7楼 bat-zw 发表于 2008-06-03 12:16
金牌会员 发帖 1,276 积分 3,105
已优化并做容错处理:


[ Last edited by zw19750516 on 2008-6-4 at 12:02 AM ]
第8楼 terrytong 发表于 2008-06-03 12:36
中级用户 发帖 115 积分 240
Originally posted by zw19750516 at 2008-6-3 12:16:
第9楼 terrytong 发表于 2008-06-03 14:17
中级用户 发帖 115 积分 240
日期好像有问题啊
日期不对啊,跟本没有日期比较。
第10楼 bat-zw 发表于 2008-06-03 14:53
金牌会员 发帖 1,276 积分 3,105
Originally posted by terrytong at 2008-6-3 14:17:
日期不对啊,跟本没有日期比较。

要比较日期做什么啊,只要是天数和时间运算对了就可以了啊。
第11楼 26933062 发表于 2008-06-03 16:18
银牌会员 发帖 879 积分 2,268
终于想到一方法让倒计时与系统时间同步。
:
第12楼 bat-zw 发表于 2008-06-03 16:43
金牌会员 发帖 1,276 积分 3,105
Originally posted by 26933062 at 2008-6-3 16:18:
终于想到一方法让倒计时与系统时间同步。
:
第13楼 terse 发表于 2008-06-03 18:58
银牌会员 发帖 946 积分 2,404
Originally posted by 26933062 at 2008-6-3 16:18:
终于想到一方法让倒计时与系统时间同步。
:
第14楼 terse 发表于 2008-06-05 00:12
银牌会员 发帖 946 积分 2,404
Originally posted by 26933062 at 2008-6-3 16:18:
终于想到一方法让倒计时与系统时间同步。
@echo off&setlocal enabledelayedexpansion
for /l %%a in (1 1 10) do set cls=!cls!
call :loop 0 99 sh 100
call :loop 0 5 ...

这样也可以 且空格也处理了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023