`

bat的变量与命令set的用法

 
阅读更多

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个字符

分享到:
评论

相关推荐

    经典 批处理 BAT 教程

    第一章 批处理基础 第一节 常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE ...15、20080402增加变量嵌套与命令嵌套,重要技巧之一。 不断学习中,不断更新中。

    Dos命令大全

    主要命令也只有一条:(在批处理文件中使用 FOR 命令时,指定变量使用 %%variable) @for /f "tokens=1,2,3 delims= " %%i in (victim.txt) do start call door.bat %%i %%j %%k tokens的用法请参见上面的sample1,...

    cmd操作命令和linux命令大全收集

    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 ...set 指定环境变量名称=要指派给变量的字符 设置环境变量 set 显示当前所有的环境变量...

    grub4dos-V0.4.6a-2017-02-04更新

    使用command --set-ext设置,每个扩展名使用";"分隔 例子: command --set-ext=.g4b;.g4e 执行时可以不用输入扩展名,比如输入test如果当前路径下有一个test.g4b就会自动使用。 2013-10-17 1.修改代码支持...

    dos批处理教程(实用)

    15、20080402 增加变量嵌套与命令嵌套,重要技巧之一。 正文: 第一章批处理基础 第一节常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的 文本文件,其扩展名...

    超强批处理教程.rar

    第一章 批处理基础 第一节 常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL ... 15、20080402增加变量嵌套与命令嵌套,重要技巧之一。 不断学习中,不断更新中。

    DOS批处理高级教程精选

    第五章 set命令详解 一、用set命令设置自定义变量 二、用set命令进行简单计算 三、用set命令进行字符串处理 1、字符串替换 2、字符串截取 第六章 if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种...

    如何编写批处理文件批处理文件批处理文件

    在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到 支持: FOR /D %variable IN...

    批处理高级教程.doc

    一、用set命令设置自定义变量 二、用set命令进行简单计算 三、用set命令进行字符串处理 1、字符串替换 2、字符串截取 第六章 if命令讲解 第一种用法:IF [NOT] ERRORLEVEL number command 第二种用法:IF ...

    X3D-Editv3.1自明修改版2008

    X3D-EDIT原作者设想将整个软件置于系统根目录,这种思路太不符我们的习 惯,我做了一些修改,让其可以自由的放置,当然,放在中文目录下...我们了解整个X3D的应用体系,以及具体的使用方法,最重要的是可以保证无错。

    Toptp v1.0 纯净版 (for ThinkPHP2.1RC1).rar

    配置方法(以下两种方法的任意一种):  1, 选中toptp.bat,鼠标右键?编辑,找到if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe 这一行, 把php.exe换为你电脑上的php.exe文件地址。这个文件再你的PHP安装目录...

    TOPTP 1.0 纯净版.rar

    配置方法(以下两种方法的任意一种): 1, 选中toptp.bat,鼠标右键编辑,找到if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe 这一行, 把php.exe换为你电脑上的php.exe文件地址。这个文件再你的PHP安装目录...

    扩大Tomcat内存

    方法一:这种方法是在Tomcat使用startup.bat文件启动项目的情况下,在Tomcat文件下找到“/bin/catalina.bat”,在catalina.bat的第一行增加: set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize...

    金仓短信猫介绍及接口开发指南(V1.7)

    <br> 设置环境变量的方法: 我的电脑->属性->高级->环境变量->用户变量和系统变量->新建 变量名: GSMLIB_DEBUG 变量值: 2 <br>3)执行测试: (1) C#/VB/VB6/C++/Delphi 直接找到exe可执行文件,...

    批处理程序代码合计包含各方面

    例如:FOR命令中有一些变量,他们的用法许多新手朋友还不太了解,今天给大家讲解他们的用法! 先把FOR的变量全部列出来: ~I - 删除任何引号("),扩展 %I %~fI - 将 %I 扩展到一个完全合格的路径名 %~dI - 仅将 %I ...

    java jdk8 学习笔记

    4.echo %path% 是系统环境变量附加用户变量,set path="路径” %path%>系统变量>用户变量,只有通过“高级系统设置”方式则可以长久保存。 5.java指令的目的是启动jvm,然后执行指定的执行文件(.class)。windows...

    Linux高级bash编程

    当使用一个不带变量参数的read命令时,将会发生什么? 11-5. read命令的多行输入 11-6. 检测方向键 11-7. 通过文件重定向来使用read 11-8. 管道输出到read中的问题 11-9. 修改当前的工作目录 11-10. 用"let"命令来作...

    Advanced Bash-Scripting Guide <>

    使用export 命令传递一个变量到一个内嵌awk 的脚本中 11-19. 使用getopts 命令来读取传递给脚本的选项/参数. 11-20. "Including"一个数据文件 11-21. 一个没什么用的,source 自身的脚本 11-22. exec 的效果 11-23. ...

    python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法

    可能很多人遇到过这个错误,当使用setup.py安装python2.7图像处理模块PIL时,python默认会寻找电脑上以安装的vs2008.如果你没有安装vs2008,会出现Unable to find vcvarsall.bat错误。 那么如何解决这个错误呢?以下...

    Java课程设计案例精编:Java课程设计案例精编.ISO

    1. 内容及使用方法 (1) 本光盘提供了书中案例的Java源代码文件及编译发布后的可执行文件。 (2) 读者可以使用文本编辑工具(例如Windows中的记事本)或Java编辑工具来打开和编辑Java源代码文件。 (3) 文件夹图标后的...

Global site tag (gtag.js) - Google Analytics