吧! 这些%1和%9可以让批处理也能带参数运行,大大提高批处理功能! 还有一个%*他是什么呢?他的作用不是很大,只是返回参数而已,不过他是一次返回全部参数的值,不用在输入%1 %2来确定一个个的 例子 @echo off echo %* 同样保存为test.bat 放到C盘 进入CMD,输入cd c:\\ 然后输入 test.bat 我是第一个参数 我是第二个参数我是第三个参数我是第四个参数 可以看到他一次把全部参数都显示出来了 好现在开始讲那个比较特殊的%0 %0这个不是返回参数的值了,他有两层意思! 第一层意思:返回批处理所在绝对路径 例子: @echo off echo %0 pause 保存为test.BAT放在桌面运行,会显示如下结果 \"C:\\Documents and Settings\\Administrator\\桌面\\test.bat\" 他把当前批处理执行的所在路经打印出来了,这就是返回批处理所在绝对路径的意思 第二层意思:无限循环执行BAT 例子: @echo off net user %0 保存为BAT执行,他就会无限循环执行net user这条命令,直到你手动停止. 龙卷风补充:其实%0就是第一参数%1前面那个参数,当然就是批处理文件名(包括路径)。 以上就是批处理中的一些系统变量,另外还有一些变量,他们也表示一些功能, FOR命令中的那些就是,FOR变量已经说过,就不讲了. 二、自定义变量 故名思意,自定义变量就是由我们来给他赋予值的变量 要使用自定义变量就得使用set命令了,看例子. @echo off set var=我是值 echo %var% pause 保存为BAT执行,我们会看到CMD里返回一个\"我是值\" var为变量名,=号右变的是要给变量的值 这就是最简单的一种设置变量的方法了 如果我们想让用户手工输入变量的值,而不是在代码里指定,可以用用set命令的/p参数 例子: @echo off set /p var=请输入变量的值 echo %var% pause var变量名=号右边的是提示语,不是变量的值 变量的值由我们运行后自己用键盘输入! 第五章 set命令详解 在上一贴中简单的介绍了一下SET设置自定义变量的作用,现在来具体讲一下set的其他功能. 一、用set命令设置自定义变量 显示、设置或删除 cmd.exe 环境变量。 SET [variable]=[string] variable指定环境变量名。 string指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET。 SET 命令不允许变量名含有等号。 注意:以下用法将清除变量variable的值,使其变成未定义状态。 SET variable= 上面等号后面无任何符号,如果写成SET variable=\"\",此时变量值并不为空,而是等于两个引号,即\"\" 例子: @echo off set var=我是值 echo %var% pause 请看 set var=我是值 ,这就是BAT直接在批处理中设置变量的方法! set 是命令 var是变量名=号右边的\"我是值\"是变量的值 在批处理中我们要引用这个变就把var变量名用两个%(百分号)扩起来,如%var% SET还可以提供一个交互界面,让用户自己输入变量的值,然后我们在来根据这个值来做相应操作,现在我就来说说SET的这种语法,只需要加一个\"/P\"参数就可以了! SET /P variable=[promptString] 例子: @echo off set /p var=请输入变量的值: echo 您输入了 %var%~_~ pause set /p 是命令语法var是变量名=号右边的\"请输入变量的值: \",这个是提示语,不是变量的值了! 运行后,我们在提示语后面直接输入1,就会显示一行您输入了 1 ~_~ 现在讲SET其他功能 使用set /?查看SET的帮助我们发现SET除了我上面讲的 SET [variable=[string]] SET /P variable=[promptString] 这两种语法外,还有如下几种语法: SET /A expression 环境变量替换已如下增强: %PATH:str1=str2% %PATH:~10,5% %PATH:~-10% %PATH:~0,-2% 这机种语法有什么用处呢?下面来一个个讲解! 二、用set命令进行简单计算 语法:SET /A expression /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式 评估器很简单并以递减的优先权顺序支持下列操作: ()-分组 ! ~ - -一元运算符 * / % -算数运算符 + - -算数运算符 << |