博客日历
2025年06月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
26 | 27 | 28 | 29 | 30 | 31 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
存档
2025年03月 2024年
03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
批处理中的变量与SET命令
1.定义变量
set var=[值]
变量的基本使用方法为:%var%
例如:
set a=100
echo a=%a%
2.查看变量
set [字符串]
若不加任何参数,则输出当前控制台窗口的所有变量
否则显示以<字符串>开头的所有变量
3.输出一个字符串,并等待用户输入
set /p var= [提示字符串]
例如:
set /p x= 请输入x的值:
此时用户输入的数据将存储到x中
4.执行数学表达式
set /a <表达式>
<表达式>中支持的运算符:
() 分组
* / % + - 基本数学计算
<< >> 逻辑移位
& 按位“与”运算
^ 按位“异或”运算
| 按位“或”运算
= *= /= %= += -= &= ^= |= <<= >>= 赋值运算
, 表达式分隔符
a) <表达式>中可以使用8进制(0开头),10进制(普通数字)和16进制数(0x开头);
b) 在<表达式>中使用变量时,不需要用%var%的格式;
c) 如果要使用< > | & ^等字符,需要使用批处理转义字符“^”
例子:
@echo off
echo 3^>2
set /a 1+2+3+4*(3+2)
set a=10
set /a a+=10
set a=0x01
set /a a^<^<1
另外“^”也是批处理中的续行符,类似于C语言中的“\”。
5.系统内置变量
%CD% - 当前目录。
%DATE% - 当前日期。
%TIME% - 当前时间。
%RANDOM% - 0 和 32767 之间的随机数。
%ERRORLEVEL% - 当前 ERRORLEVEL 值。
6.批处理中的字符串截取
对于已存在的变量var,有如下格式:
%var:~<start,count>%
部分类似于MFC中CString的Mid方法。
如果start是负值,则只留下绝对值count个字符
如果count是负值,则去掉末尾的绝对值count个字符
省略count,则保留末尾全部字符
例子:
set var=aabbccdd
echo %var:~0,2%
这里会输出:aa
echo %var:~4,2%
这里会输出:cc
echo %var:~2,-2%
这里会输出:bbcc
7.批处理中的字符串替换
对于已存在的变量var,有如下格式:
%var:strold=strnew%
例子:
set var=aabbccdd
echo %var:aa=xxx%
8.将命令的输出复制给变量
控制台中:
for /f %a in ('date /t') do set var=%a
echo %var%
批处理文件中:
for /f %%a in ('date /t') do set var=%%a
echo %var%
上一篇: 批处理中的if语句
下一篇: 批处理中的for语句
分类:脚本编程 查看次数:5697 发布时间:2010/1/11 12:37:59