批处理

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%

 

管道:

  管道使用 & 符号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值