现在的位置: 首页 > 综合 > 正文

批处理

2013年10月11日 ⁄ 综合 ⁄ 共 1406字 ⁄ 字号 评论关闭

2010-11-22

星期一

批处理知识小结:

 

批处理参考网站:

   

http://www.bathome.net/

 

set
命令的使用:

 
set //

显示所有的环境变量

 
set /a
expression

 
set /p
string1=[string2] //string2

是提示字符,用户可以输入字符赋值给string1,
注意,string1
并不是接受string2
这些提示字符。

 

例如:set
/p userName=pls input user name //

pls input user name
”这段文字信息可以在dos
窗口中看到,”但是userName
的内部不是这个,

                                           

// 

而是用户输入的信息。

如何给变量赋值方法:

 
1: set
variable=abc

 
2: set
var1=abc

    
set
var2=%var1%

 
3: set /p=

 

字符截取方法:

  

%variable:~[+/-]M[,N]% //

表示截取变量从前或后从第M
个位置开始截取,截取长度为N

  

  

例如:

  
set
var=123456

  
echo
%var:~0,2% 
//

从第一个位置开始截取,
截取长度12

 

变量使用:

 

变量的使用方式有两种 %var%, !var!.

 
!var!

是变量延迟扩展,要开启延迟变量扩展要使用如下命令,否则将不能解析!var!

   
setlocal
enabledelayedexpansion //

具体参见setlocal
命令

 

 
%var%

总是显示进入语句块前的值。

 
!var%

显示的是每次更新后的值。

 

 

例如:遍历parameters.txt
文件每一行,并将其信息输出。

 
parameters.txt

文件内容:

   
-n doom #

   
-t 7 #

   
-p
d:/android/game #

   
-k
android.game #

   
-a
doomActivity #

 

 
@echo off

 
rem setlocal
enabledelayedexpansion

 
rem set y=abc

 
for /f
"tokens=1,2,* delims=#" %%i in (parameters.txt) do (set y=%%i) &
echo %y%

 

 

如果没有开启 “延迟变量扩展”,我们也不在进入语句块前给 y
变量赋值,y
变量默认是为空。

 

这时候,我们第一次运行,就会打印出 “echo
处于关闭状态” 信息。

 

 

这是如果我们在进入语句块之前,我们给 y
变量赋值一个随机值,而不是默认的空值。如 set y=abc.

 

这时候我们再次运行,会发现打印出来的信息就是五行 abc.
也就是我们进入语句块的前的值,但是这个

 

值其实是改变了得,我们可以通过 set
命令看到,y
的值其实是我们w
文本文件的最后一行去掉#
的信息。

 
y=-a
doomActivity

 

 

所以从默认到人为给变量添加值两者情况可以看出。%var%
显示的就是进入语句块前的值。接下来我们再来看看

 
!var!

的使用。

 

首先启动 “延迟变量扩展”,然后使用 !y!,
会发现打印的信息是每次读取到的行信息。

 

打印空行的方法:

  
echo.

 

 

dos
窗口出现 “echo
处于关闭状态” 信息,如何关闭。

 

如果
echo %var%

语句中,var
是一个空值,那么就会出现这个信息。关闭很简单就是在echo
后加上一个“.
”即可。

 

即:echo.
%var%

 

管道:

 

管道使用 &
符号。

抱歉!评论已关闭.