[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

set CLASSPATH=
....
红色字体的,后面没有参数,它是啥意思??
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

类似于C语言里面的变量初始化
1

评分人数

TOP

回复 2# DAIC


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

然后跳到那个123.bat的目录,然后在dos窗口下执行   123.bat     c:
它就打印出来C盘文件夹里面的目录了。。
哈哈哈。。。

TOP

回复 3# mimixi666


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

TOP

回复 4# DAIC

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

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


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

TOP

回复 5# mimixi666


    红色那行少了set

TOP

回复  mimixi666


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



    那这样的话,那就是说,第一行那个后面没有参数,就是没有任何的意义咯??

TOP

set dirText=
是初始化变量dirText, 你可以理解为:清空变量dirText的值

TOP

其实给一个变量赋空值就是把该变量清除了,就是已经不存在该变量了。如果以后再引用它,系统就给它赋空值,果在 set /a 里引用该变量,系统就赋它为0,但是该变量仍旧是不存在的。
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

回复 8# hnfeng


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

TOP

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



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

TOP

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



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

TOP

返回列表