标题: set /p 如何设置空值?(已解决)
[打印本页]
作者: applecy
时间: 2007-5-25 21:59
标题: set /p 如何设置空值?(已解决)
RT:
set /p aa=
请问如何把%aa%的值设置为空?
[
Last edited by applecy on 2007-5-25 at 10:33 PM ]
作者: lxmxn
时间: 2007-5-25 22:18
直接回车就行了。
作者: applecy
时间: 2007-5-25 22:25
@echo off
:st
echo 请选择
set /p aa=
if %aa%== goto st
if %aa%==n goto and
exit
:and
exit
我要做到的效果是如果输入"n"就结束,直接回车就跳转到:st.
请问具体要怎么修改?
作者: lxmxn
时间: 2007-5-25 22:27
@echo off
:st
echo 请选择
set /p aa=
if [%aa%]==[] goto st
if /i [%aa%]==[n] goto and
exit
:and
exit
作者: applecy
时间: 2007-5-25 22:32
谢谢lxmxn兄弟帮了大忙``
顺便问下""跟[]有什么区别吗?
作者: bjsh
时间: 2007-5-25 22:59
我建议
if [%aa%]==[] goto st (这一句等同于 if "%a%"=="" goto st)
这一句写成
if not defined aa goto st
否则的话极易让人理解为直接回车的话%aa%是空[格];
实际上直接回车是指不定义aa
[
Last edited by bjsh on 2007-5-25 at 11:02 PM ]
作者: qzwqzw
时间: 2007-5-27 17:30
我感觉变量未定义和变量为空值其实是同一个概念
比如 set var=就可以理解定义变量为空或者取消变量定义
至于空变量是否在环境表中保存那就是见仁见智了
反正又没有官方文档加以规范
估计微软自己都不想在这上面多绕
作者: slore
时间: 2007-5-27 18:25
c:\>set var=k
c:\>set var
var=k
c:\>set var=
c:\>set var
环境变量 var 没有定义
c:\>
作者: tophu0041463
时间: 2010-1-7 23:23
做记号,学习了
作者: jarry0932
时间: 2010-1-10 19:33
原来如此啊,那以后在写P的时候可以简化代码啦,又长知识了