您的位置:首页 > 其它

bat的变量与命令set的用法

2011-10-13 18:33 471 查看
set 功能一览[设置变量]

格式:set 变量名=变量值

详细:被设定的变量以%变量名%引用

[取消变量]

格式:set 变量名=

详细:取消后的变量若被引用%变量名%将为空

[展示变量]

格式:set 变量名

详细:展示以变量名开头的所有变量的值

[列出所有可用的变量]

格式:set

[计算器]

格式:set /a 表达式

示例:set /a 1+2*3 输出 7

[设置变量为表达式计算后的值]

set a=1+2

echo %a% ==>输出1+2

------------------------------------

set /a a=1+2

echo %a% ==>输出3

[设置变量为用户输入的值]

set /p a=输入一个值 ==>输出 输入一个值

echo %a% ==>显示用户输入的值

!注意!

set不能用在复合语句里面比如if 1==1 set a=2或者for %%i in (a) do set a=2

预定义的变量



下面是些已经被底层定义好可以直接使用的变量:不会出现在 SET 显示的变量列表中

%CD% - 扩展到当前目录字符串。

%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。

%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。

%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。

%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。

%CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。

%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。

%0 bat的完整路径名如"C:\Windows\system32\xxx.bat"

%1 bat参数1依次类推%2参数2...

%path% - 当前的环境变量。以分号隔开的路径列表,路径可包含空格,可以以'\'结尾, 可以以双引号包围之。

扩展变量

@ 与%i相关的变量(bat参数或者for循环的%i)

假设文件为C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat

%0 C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat

%~dp0 C:\Documents and Settings\jinsun\桌面\

%cd% C:\Documents and Settings\jinsun\桌面

%~nx0 ParseSinglePkgs.bat

%~n0 ParseSinglePkgs

%~x0 .bat

@ 与%VAR%相关的变量

%VAR:str1=str2% 会将VAR中的str1替换为str2(str2如果为空则可以达到删除的效果,str1前可以加*,变量%ABC:*B=%是C)

%VAR:~0,-2% 会提取VAR 变量的所有字符,除了最后两个

%VAR:~2% 会提取VAR 变量的除前两个的所有字符

%VAR:~-2% 会提取VAR 变量的最后两个

%VAR:~2,5% 提取从第2个字符开始的5个字符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: