无忧启动论坛

标题: 批处理检测输入数字检测求助 [打印本页]

作者: hurry307    时间: 2017-12-28 18:49
标题: 批处理检测输入数字检测求助
在输入数字时检测输入的内容是否是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


作者: y7y007    时间: 2017-12-28 19:50
@echo off
set /p ID=
echo %ID%|findstr /be "[0-9]*">nul && echo 数字||echo 非数字
pause

作者: hurry307    时间: 2017-12-28 19:56
y7y007 发表于 2017-12-28 19:50
@echo off
set /p ID=
echo %ID%|findstr /be "[0-9]*">nul && echo 数字||echo 非数字

不用findstr能实现吗
作者: y7y007    时间: 2017-12-28 20:13
你只是担心会输错吧,加上
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

作者: hurry307    时间: 2017-12-28 20:37
如果按对,除数字的外的按键怎么防止?
作者: nttwqz    时间: 2017-12-28 21:23
if ……goto……条件判断语句
……
……
if……goto……最后一句
cls & goto menu

作者: slore    时间: 2017-12-28 21:30
  1. set /a
复制代码





欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3