Board logo

标题: CLS清屏导致自动退出,怎么办? [打印本页]

作者: wuhanbin     时间: 2008-8-19 13:49    标题: CLS清屏导致自动退出,怎么办?

@echo off :3error3 set /p version=请输入软件版本(格式为X,XX,XX): if '%version%'=='' echo 输入错误,请重新输入!& goto 3error3 CLS echo 成功 pause (每次我输入完软件版本,格式X,XX,XX 其中逗号是英文的那种,并不会显示成功,而是直接退出,怎么办?) (另外,我还想问下,如何限定用户输入的格式为X,XX,XX 如果不是这个格式自动goto 3error3 ,怎么做?) [ Last edited by wuhanbin on 2008-8-19 at 01:51 PM ]

作者: slore     时间: 2008-8-19 14:03
if "%version%"==""

作者: wuhanbin     时间: 2008-8-19 14:07
那为什么有的地方用单引号就行,用双引号反而不行?怪了

作者: slore     时间: 2008-8-19 14:16
看情况吧。你也可以用[] 当然你还可以不写引号。 这里'xx,xx,xx'会出问题。 单独 'xx' 是没有事的

作者: wuhanbin     时间: 2008-8-19 14:20
哦,长了不少知识,谢谢slore

作者: HAT     时间: 2008-8-19 14:21    标题: Re 3楼

能否举个例子说明“有的地方用单引号就行,用双引号反而不行”?

作者: wuhanbin     时间: 2008-8-19 15:13
如改成下面就会出错 if “%version%”=='' echo 输入错误,请重新输入!& goto 3error3 [ Last edited by wuhanbin on 2008-8-19 at 03:19 PM ]

作者: HAT     时间: 2008-8-19 15:24
1。不要使用全角引号 2。==两边的引号注意保持一致性
if "%version%"=="" (
  echo 输入错误,请重新输入!
  goto 3error3
)

作者: wuhanbin     时间: 2008-8-19 15:40
谢谢,知道了,呵呵!

作者: 23112656     时间: 2008-8-19 21:50
你代码错了噻.如果你加了pause窗口还自动关闭的话就说明你代码有问题.仔细查一下啊