中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 05:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 在set /p中多个空格,速度上怎么会有不同呢? 查看 809 回复 2
楼 主 在set /p中多个空格,速度上怎么会有不同呢? 发表于 2008-07-20 21:09 ·  中国 吉林 长春 联通
初级用户
积分 68
发帖 32
注册 2007-12-09 17:16
18年会员
UID 105152
性别 男
状态 离线
请问一下这是什么原因?
第一个
@echo off
:1
if "%ke%"=="100" pause&exit
set /a "str=%random%%%100"
if defined .%str% goto 1
set /p=%str%<nul&echo.
set /a ke+=1
set .%str%=ok
goto 1
第二个
@echo off
:1
if "%ke%"=="100" pause&exit
set /a "str=%random%%%100"
if defined .%str% goto 1
set /p=%str% <nul&echo.
set /a ke+=1
set .%str%=ok
goto 1
以上两例中只有粗体部分中有一个空格的差别,但运行起来,第一个没有空格的就会卡住,而第二个就不卡,这是为什么呢?
2 发表于 2008-07-20 21:23 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
卡住是因为产生了1位数。。。这个 就会给<null
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2008-07-20 21:44 ·  中国 吉林 长春 联通
初级用户
积分 68
发帖 32
注册 2007-12-09 17:16
18年会员
UID 105152
性别 男
状态 离线
是是是!太好了,那么这个1<nul和1>nul 是一样的了?
论坛跳转: