Board logo

标题: [其他] [已解决]BAT批处理设置环境变量,后面没有参数,是啥意思? [打印本页]

作者: mimixi666    时间: 2014-1-4 11:16     标题: [已解决]BAT批处理设置环境变量,后面没有参数,是啥意思?

set CLASSPATH=
....
红色字体的,后面没有参数,它是啥意思??
作者: DAIC    时间: 2014-1-4 11:34

类似于C语言里面的变量初始化
作者: mimixi666    时间: 2014-1-4 11:49

回复 2# DAIC


    OK,谢谢提醒,懂了,测试了一下,原来是传入的参数。。。
   写了个测试代码,123.bat:
   @echo off
    set dirText=
    dir %echoText%

然后跳到那个123.bat的目录,然后在dos窗口下执行   123.bat     c:
它就打印出来C盘文件夹里面的目录了。。
哈哈哈。。。
作者: DAIC    时间: 2014-1-4 12:03

回复 3# mimixi666


你用一个错误的测试代码得到了一个错误的结论。
1、dirText和echoText这两个变量都是空的,dir命令默认显示当前目录下的情况
2、这两个变量和传入的位置参数没有任何关系
作者: mimixi666    时间: 2014-1-4 14:01

回复 4# DAIC

    上面的那串代码,我修改过的了。。。

    原来是这样的:
   @echo off
    set dirText=
    dir %dirText%
    所以这就是我第一点错的原因;
   第二点我错的是因为,我一看见输出有目录了,太高兴了,没有看到目录的内容。。。
   当时我是在C:\Documents and Settings\Administrator的,本意是想查看D盘的。。。


那这样的话,一开始他不设置任何的参数的话,那它有何作用??
如果后面还可以赋值给dirText的话,那为什么我这样做没有效果的??
@echo off
    set dirText=
    dirText="d:\"   
    dir %dirText%
C语言后面都还可以赋值的。。。
作者: DAIC    时间: 2014-1-4 14:29

回复 5# mimixi666


    红色那行少了set
作者: mimixi666    时间: 2014-1-4 16:26

回复  mimixi666


    红色那行少了set
DAIC 发表于 2014-1-4 14:29



    那这样的话,那就是说,第一行那个后面没有参数,就是没有任何的意义咯??
作者: hnfeng    时间: 2014-1-4 19:25

set dirText=
是初始化变量dirText, 你可以理解为:清空变量dirText的值
作者: 悬崖之树    时间: 2014-1-4 23:07

其实给一个变量赋空值就是把该变量清除了,就是已经不存在该变量了。如果以后再引用它,系统就给它赋空值,果在 set /a 里引用该变量,系统就赋它为0,但是该变量仍旧是不存在的。
作者: mimixi666    时间: 2014-1-6 08:20

回复 8# hnfeng


    哦哦哦,原来是这样,学习了,谢谢。。。
作者: mimixi666    时间: 2014-1-6 08:20

其实给一个变量赋空值就是把该变量清除了,就是已经不存在该变量了。如果以后再引用它,系统就给它赋空值, ...
悬崖之树 发表于 2014-1-4 23:07



        哦哦哦,原来是这样,学习了,谢谢。。。
作者: mimixi666    时间: 2014-1-6 08:29

其实给一个变量赋空值就是把该变量清除了,就是已经不存在该变量了。如果以后再引用它,系统就给它赋空值, ...
悬崖之树 发表于 2014-1-4 23:07



        哦哦哦,原来是这样,学习了,谢谢。。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2