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

你可能感兴趣的:(Win7命令行工具—choice和timeout)