中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 18:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]DOS7.1下如何实现判断变量数值? 查看 660 回复 0
楼 主 [求助]DOS7.1下如何实现判断变量数值? 发表于 2007-12-03 14:53 ·  中国 新疆 乌鲁木齐 电信
初级用户
积分 36
发帖 11
注册 2007-11-21 15:24
18年会员
UID 103328
性别 男
状态 离线
以论坛里面的一篇文章为例,该批处理的作用:
1.输入的变量值为1-300之间
2.否则重新输入
在XP下可以使用的批处理:
@echo off
:begin
cls
set num=
set /p num=请输入数字:
if not defined num goto :err
echo %num%|findstr "^[0-9]*$" >nul 2>nul
if errorlevel 1 goto :err
if %num% geq 1 if %num% leq 300 (echo Ok) else (goto :err)
echo 你输入的是“%num%”
pause&exit/b

:err
echo 输入错误,请重新输入
pause>NUl
goto :begin

问题:
1.在DOS7.1下set /p命令不能使用,因此我加载了4DOS的命令解释器,换成了input %%num,这可以输入变量了
2.但是问题来了,后面的语句根本不执行,>nul 2>nul不成,后面的也运行
哪位哥们知道,在DOS7.1+4DOS下如何实现这个功能,不胜感激!
论坛跳转: