dos 倒计时

需求描述:

由于经常使用dos批处理命令,有时需要在执行两个命令间,停顿一段时间,so,怎么办呢?

解决办法:

将如下命令,拷贝到bat文件,然后在自己写的dos脚本中调用即可。

# dos倒计时
# 支持环境 windows 7/2008

@echo off
title 倒计时显示

set max_seconds=10
:count
cls&echo 设置 %max_seconds% 秒后自动退出!

if %max_seconds%==0 goto work

set last_time=%time:~-5,-3%
:loop
set current_time=%time:~-5,-3%
if %last_time%==%current_time% (goto loop) else (set last_time=%time:~-5,-3%)
set /a max_seconds-=1
goto count

:work
echo 倒计时结束,执行下面的任务
pause
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的汇编程序,实现了一个红绿灯带倒计时的功能。在这个程序中,红绿灯的状态通过一个变量 saved_state 来保存,可以通过改变 saved_state 的值来改变红绿灯的状态。 ``` ; 汇编红绿灯带倒计时程序 ORG 0x100 ; 程序入口 saved_state DB 0 ; 保存红绿灯的状态 count DB 0 ; 倒计时计数器 START: MOV AX, @DATA ; 初始化数据段寄存器 MOV DS, AX MOV AH, 09H ; 显示提示信息 MOV DX, OFFSET PROMPT INT 21H MOV AH, 01H ; 获取用户输入 INT 21H SUB AL, '0' ; 转换为数字 MOV count, AL MAIN_LOOP: CALL DELAY ; 延时1秒 DEC count ; 计数器减1 CMP count, 0 ; 判断计数器是否为0 JNE MAIN_LOOP ; 如果计数器不为0,继续循环 MOV AH, 02H ; 清屏 MOV DL, 0 INT 21H MOV AH, 09H ; 显示倒计时结束提示信息 MOV DX, OFFSET END_PROMPT INT 21H MOV AH, 4CH ; 返回DOS INT 21H DELAY: ; 延时1秒 MOV CX, 0FFFFH MOV DX, 0FFFFH DELAY_LOOP: DEC DX JNE DELAY_LOOP DEC CX JNE DELAY_LOOP RET PROMPT DB '请输入倒计时时间(秒):$' END_PROMPT DB '倒计时结束!$' END START ; 程序结束 ``` 在这个程序中,我们使用了一个简单的延时函数 DELAY,通过循环减少计数器的值来实现延时。在主循环中,我们首先调用 DELAY 函数延时1秒,然后将计数器减1。循环执行这个过程,直到计数器的值为0,表示倒计时结束。在倒计时结束后,程序会清屏,并显示一个提示信息,然后返回DOS。 请注意,这个程序只是一个简单的示例,可能还需要进行优化和改进,以实现更加稳定和可靠的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值