Board logo

标题: 求一个倒计时并可以手动选择的菜单批处理? [打印本页]

作者: yjjia     时间: 2008-3-18 16:24    标题: 求一个倒计时并可以手动选择的菜单批处理?

我想求一个可以倒计时选择菜单的批秒理!例如下这样:


1,安装杀毒软件 (默认30秒自动选择)“这个30秒可以倒计时的”

2,不安装杀毒软件


请输入字号:


就上面那个例那个的功能。那个30要用倒计时的,就30,29,28 .........一直到0才选择1的,也可以在30秒内手动选择。

可以做这样的批处理吗?
作者: bat-zw     时间: 2008-3-18 18:05    标题: 己测试:


@echo off&color 9f&mode con lines=10
:select
cls
echo.&echo.&echo.&echo.
set /p select=    请选择是否安装杀毒软件(1.安装 2.不安装)
if "%select%"=="1" goto time
if "%select%"=="2" goto :eof
cls
echo.&echo.&echo.&echo.
echo     输入错误,请重新输入!
ping /n 2 127.1 >nul& goto select
:time
set t=30
:begin
cls
set /a t-=1
if %t% equ 0 goto setup
echo.&echo.&echo.&echo.
echo     将在%t%秒后安装杀毒软件,取消请直接关闭本窗口!
ping /n 2 127.1 >nul&goto begin  
:setup
...............
[ Last edited by zw19750516 on 2008-3-18 at 06:07 PM ]
作者: moniuming     时间: 2008-3-18 18:28
没有choice.exe是不行的,xp是不行了,除非下载并放到系统文件夹里.
作者: bat-zw     时间: 2008-3-18 18:45


  Quote:
Originally posted by moniuming at 2008-3-18 18:28:
没有choice.exe是不行的,xp是不行了,除非下载并放到系统文件夹里.

我不知道怎么就不行了,我都测试了,完全按楼主的要求进行运行,只是没有写完全了,要写全:setup下面加入以下即可:
start “路径+要执行的安装文件”(一般都是exe文件如:d:/download/kvsetup.exe)

[ Last edited by zw19750516 on 2008-3-18 at 06:48 PM ]
作者: zh159     时间: 2008-3-18 23:07
二楼的不符合LZ要求,LZ要求是在选择的界面提示倒计时,而不是选择后再倒计时
choice可以,只是没有倒计时提示,还有也可以用WBAT
作者: bbswind     时间: 2008-3-19 10:23
这个是我用的一个菜单改了一下,代码有点烦杂,看你能不能用?
@echo off
title 安装杀毒软件
color 1a
set ttzzcode=%random%
set s=3
set /a run1=run1+1
cls
if %run1% equ 2 goto :onstart
del %temp%\ttzz%ttzzcode%.txt >nul 2>nul
start "安装杀毒软件 - 30" /b cmd /c %0
:select
cls
echo 请选择
echo -------------------------
echo 1,安装杀毒软件
echo 2,不安装杀毒软件
echo -----------%s%-------------
if %run1% equ 2 goto :onstart1
set /a s=s-1
if %s% lss 0 goto :overit
set /p game=
if %game% equ 1 goto :g1
if %game% equ 2 goto :g2
echo 请正确选择!
ping 127.0.0.1 -n 1 >nul 2>nul
goto :select
exit
:g1
start cmd /c "安装杀毒软件的代码"
goto overit
exit
:g2
goto overit
exit
:onstart
goto :select
:onstart1
set timenum=30
:timestart
title 安装杀毒软件 - %timenum%
if exist %temp%\ttzz%ttzzcode%.txt goto :overkill
if %timenum% gtr 0 goto :goon
:overkill
del %temp%\ttzz%ttzzcode%.txt >nul 2>nul
taskkill /fi "windowtitle eq 安装杀毒软件 - 0" /f >nul 2>nul
exit
:goon
set /a timenum=timenum-1
ping 127.0.0.1 -n 2 >nul 2>nul
goto :timestart
exit
:overit
@echo Over >%temp%\ttzz%ttzzcode%.txt 2>nul
exit
作者: bbswind     时间: 2008-3-19 12:00
前面那个默认成了关闭,这个可能正确了,呵呵
@echo off
title 安装杀毒软件
color 1a
set ttzzcode=%random%
set /a run1=run1+1
if %run1% equ 2 goto :onstart
del %temp%\ttzz%ttzzcode%.txt >nul 2>nul
start "安装杀毒软件 - 30" /b cmd /c %0
:select
cls
echo 请选择
echo -------------------------
echo 1,安装杀毒软件
echo 2,不安装杀毒软件
echo -------------------------
set /p select=
if %select% equ 1 goto :g1
if %select% equ 2 goto :overit
echo 请正确选择!
ping 127.0.0.1 -n 1 >nul 2>nul
goto :select
exit
:g1
start cmd /c "安装杀毒软件的代码"
:overit
if %run1% equ 1  @echo Over >%temp%\ttzz%ttzzcode%.txt 2>nul
exit
:onstart
set timenum=30
:timestart
title 安装杀毒软件 - %timenum%
if exist %temp%\ttzz%ttzzcode%.txt (del %temp%\ttzz%ttzzcode%.txt >nul 2>nul && exit)
if %timenum% leq 0 taskkill /fi "windowtitle eq 安装杀毒软件 - 0" /f >nul 2>nul && goto :g1
:goon
set /a timenum=timenum-1
ping 127.0.0.1 -n 2 >nul 2>nul
goto :timestart
exit
作者: terse     时间: 2008-3-19 13:29
我看用 WBAT 也不错