Win7命令行工具—choice和timeout

>>CHOICE /?

描述:
    该工具允许用户从选择列表选择一个项目并返回所选项目的索引。

参数列表:
   /C    choices       指定要创建的选项列表。默认列表是 "YN"。......

   注意:
   ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选
   择返回 1,第二个选择返回 2,等等。如果用户按的键不是有效的选择,
   该工具会发出警告响声。如果该工具检测到错误状态,它会返回 255 的
   ERRORLEVEL 值。如果用户按 Ctrl+Break 或 Ctrl+C 键,该工具会返回 0
   的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时,将参数降
   序排列。

示例:

========================================================

::choice命令测试
@echo off
choice /T 3 /D Y /M "确认请按 Y,否请按 N "
rem ERRORLEVEL==2或%ERRORLEVEL% EQU 2都是可以的
if %ERRORLEVEL%==2 (
echo 已选择 N!
exit
) else (
echo 未选择 N!
exit
)

========================================================

:: 休眠,注销,关闭,重启计算机
@echo off
echo 1-休眠;
echo 2-注销;
echo 3-关机;
echo 4-重启;

:choose
choice /C 1234 /N /T 10 /D 1 /M "请选择序号:"
if ERRORLEVEL==255 goto warning
if ERRORLEVEL==4 goto restart
if ERRORLEVEL==3 goto close
if ERRORLEVEL==2 goto logout
if ERRORLEVEL==1 goto sleep
if ERRORLEVEL==0 goto end
:: 阻止关机
:: shutdown /a
:: exit
rem 实际上warning标签命令集就用不上
:warning
echo 输入错误!请重试
goto choose
:sleep
echo 计算机进入休眠
:: shutdown /h
rem 上一条命令无法运行
goto end
:logout
echo 注销当前用户
shutdown /l
goto end
:close
echo 关闭计算机
shutdown /s /t 0
goto end
:restart
echo 重新启动计算机
shutdown /r /t 0
rem 或使用shutdown /g /t 0
goto end
:end
exit

>>timeout /?

描述:
    这个工具接受超时参数,等候一段指定的时间(秒)或等按任意键。它还接受
    一个参数,忽视按键。

注意: 超时值 -1 表示无限期地等待按键。

>>timeout /t 3

等待 3 秒,按一个键继续 ...

可以在后面添加 >nul(前面有空格) 消除提示;

示例:

注意,批处理文件名要和批处理中的相同,否则无法递归调用,如该文件名为 “ cmd_Clock.bat ”;但使用%0参数代替bat文件名更好。

@echo off
title cmd小时钟
mode con cols=32 lines=4&color 5e
echo ^|-----------------------------^|
echo ^| %date% %time% ^|
echo ^|-----------------------------^| timeout /T 1 >nul %0

运行效果自我感觉还行,查看了一下内存占用,720KB左右(有点大哦)

image

转载于:https://my.oschina.net/wqli/blog/98308

win2003 Vista才有这个命令,可以放到xp中使用 ============================================================ Choice 在批处理程序中,通过显示提示信息并暂停批处理程序,用户可以从一组用户选项键中进行选择。 语法 choice [/c [Choices]] [/n] [/cs] [/tTimeout/dChoice] [/mText] 参数: /c Choices 指定用户选项键。显示时,选项键由逗号分隔,出现在括号([])中,后面跟着问号。如果未指定 /cChoices,默认情况下,choice 显示使用 [Y, N]。 /n 隐藏用户选项键。如果使用此命令行选项,将在提示符之前出现消息正文,选项仍处于启用状态。 /cs 指定用户选项键必须区分大小写。默认情况下,用户选项键不区分大小写。 /t Timeout /d Choice 指定在默认为指定键之前 choice 暂停指定的秒数。下表将描述 /t 命令行选项的值。 Timeout 要暂停的秒数。可接受的值介于 0 到 9999 之间。如果使用 0,choice 在默认为指定键之前不暂停。 /d Choice 指定 Timeout 秒数之后的默认选择。您使用的字符必须在由 /cChoices 指定的选择集中。如果使用此命令行选项,还必须同时指定 /tTimeout。 /m Text 指定要在提示符之前显示的文字。如果您包括命令行选项字符(即 /)作为提示符之前的一部分文字,必须用引号将该文字引起来。如果未指定任何文字,choice 将只显示提示符。 /? 在命令提示符下显示帮助。 注释 • ERRORVALUE 环境变量被设置为用户从选择列表中选择的键的索引。您指派的第一个键将返回值 1,第二个将返回值 2,第三个将返回值 3,依此类推。如果用户按下一个不在您指派的键中间的键,Choice.exe 将发出警告声(即,它向控制台发送一个 BEL 或 07h 字符)。如果 Choice.exe 检测到错误情况,它就会返回错误值 255。如果用户按 Ctrl+Break 或 Ctrl+C,Choice.exe 就会返回错误值 0。当您在批处理程序中使用错误值参数时,请将它们以降序列出。 示例 请在批处理文件中键入下列语法: choice /c ync 运行 Choice.exe 时出现下列语句: [Y,N,C]?请在批处理文件中键入下列语法: choice /c ync /n /m Yes, No or Continue? 运行 Choice.exe 时出现下列语句: Yes, No, or Continue?按如下方式将文字添加到语法中: choice /c ync /m Yes, No, or Continue 运行 Choice.exe 时出现下列语句: Yes, No, or Continue [Y,N,C]?/t 命令行选项将设置一个时间限制(在该限制内用户必须响应),并指定当用户在该时间限制内没有作出响应时将显示的值。要将时间限制设置为五秒并指定 N 作为默认值,请在批处理程序中键入下列命令行choice /c ync /t 5 /d n 当批处理文件启动 Choice.exe 时,将出现下列消息: [Y,N,C]?如果用户未能在五秒钟内按下一个键,Choice.exe 将选择 N 并返回错误值 2。否则,Choice 将返回与用户所选对应的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值