无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3825|回复: 6
打印 上一主题 下一主题

批处理检测输入数字检测求助

[复制链接]
跳转到指定楼层
1#
发表于 2017-12-28 18:49:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在输入数字时检测输入的内容是否是0到9之间的数字
@echo off&setlocal EnableDelayedExpansion & color 3e
title system auto deploy Application tools
@ECHO OFF
CLS
color 0a

GOTO MENU
:MENU
ECHO.
ECHO.   =-=-=-=-==-=-=-=-=
ECHO.
ECHO.                       1  60G DISK
ECHO.
ECHO.                       2  120G DISK
ECHO.
ECHO.                       3  240G DISK
ECHO.
ECHO.                       4  500G DISK
ECHO.
ECHO.                       5  1TB  DISK
ECHO.
ECHO.
ECHO.
echo.                请输入选择项目的序号:
set /p  ID=
if "%id%"=="1"  goto cmd1

if "%id%"=="2" goto cmd2

if "%id%"=="3" goto cmd3

IF "%id%"=="4" goto cmd4

IF "%id%"=="4" goto cmd5
PAUSE

:cmd1
CALL X:\windows\system32\fq\60.cmd

:cmd2

CALL X:\windows\system32\fq\120.cmd

:cmd3
CALL X:\windows\system32\fq\240.cmd


:cmd4
CALL X:\windows\system32\fq\500.cmd

:cmd5
CALL X:\windows\system32\fq\1TB.cmd

2#
发表于 2017-12-28 19:50:04 | 只看该作者
@echo off
set /p ID=
echo %ID%|findstr /be "[0-9]*">nul && echo 数字||echo 非数字
pause

点评

不用findstr能实现吗  详情 回复 发表于 2017-12-28 19:56
回复

使用道具 举报

3#
 楼主| 发表于 2017-12-28 19:56:10 | 只看该作者
y7y007 发表于 2017-12-28 19:50
@echo off
set /p ID=
echo %ID%|findstr /be "[0-9]*">nul && echo 数字||echo 非数字

不用findstr能实现吗
回复

使用道具 举报

4#
发表于 2017-12-28 20:13:23 | 只看该作者
你只是担心会输错吧,加上
if not "%id%"=="" set id=%id:~0,1%
goto :Menu
就可以了

@ECHO OFF
:MENU
  CLS
ECHO.
ECHO.   =-=-=-=-==-=-=-=-=
ECHO.
ECHO.                       1  60G DISK
ECHO.
ECHO.                       2  120G DISK
ECHO.
ECHO.                       3  240G DISK
ECHO.
ECHO.                       4  500G DISK
ECHO.
ECHO.                       5  1TB  DISK
ECHO.
ECHO.
ECHO.
echo.                请输入选择项目的序号:
set /p  ID=
if "%id%"=="1"  goto cmd1

if "%id%"=="2" goto cmd2

if "%id%"=="3" goto cmd3

IF "%id%"=="4" goto cmd4

IF "%id%"=="5" goto cmd5
if not "%id%"=="" set id=%id:~0,1%
goto :Menu

:cmd1
CALL X:\windows\system32\fq\60.cmd

:cmd2

CALL X:\windows\system32\fq\120.cmd

:cmd3
CALL X:\windows\system32\fq\240.cmd


:cmd4
CALL X:\windows\system32\fq\500.cmd

:cmd5
CALL X:\windows\system32\fq\1TB.cmd

pause
回复

使用道具 举报

5#
 楼主| 发表于 2017-12-28 20:37:50 来自手机 | 只看该作者
如果按对,除数字的外的按键怎么防止?
回复

使用道具 举报

6#
发表于 2017-12-28 21:23:28 | 只看该作者
if ……goto……条件判断语句
……
……
if……goto……最后一句
cls & goto menu
回复

使用道具 举报

7#
发表于 2017-12-28 21:30:11 | 只看该作者
  1. set /a
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-23 15:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表