为了理解什么是延迟环境变量扩展,我们先来看一下什么是变量扩展; 在CMD在解释命令的时候,会先读取命令行一条完整的命令,然后对其进行一些命令格式的匹配操作,核对一下所输入的命令格式是不是符合他的要求,在变量名字两边加一个%号,如%name%,当CMD在对读取整行命令进行格式匹配时,发现name这个字符两边加了%号,就不...
1.%ALLUSERSPROFILE%本地 返回“所有用户”配置文件的位置。2.%APPDATA%本地 返回默认情况下应用程序存储数据的位置。3.%CD%本地 返回当前目录字符串。4.%CMDCMDLINE%本地 返回用来启动当前的Cmd.exe 的准确命令行。5.%CMDEXTVERSION%系统 返回当前的“命令处理程序扩展”的版本号。6.%COMPUTERNAME%系统 返回...
用于比较字符串与字符串、变量与变量、变量与字符串之间是否相等,如果相等则表示条件成立。用法如下: if [not] 信息比较表达式 ( 命令行1 ) else ( 命令行2 ) 这里的“信息比较表达式”的格式为“字符串1==字符串2”或“变量1==变量2”或“变量==字符串”的形式,也即是说只能使用“==”进行字符串或变量...
定义变量十分简单,只需要使用set关键字声明变量名和变量值即可,需要注意的是在bat脚本中变量定义出来后默认都是字符串形式的,这点倒是和shell脚本很像。如果变量值存在空格或者特殊字符的话,我们一般会用""来将值进行包裹,比如"Hello World~" 注意:变量名和等号=之间不能有空格!!! set variable=xxxx (二)变量的...
%0 -%9表示命令行参数,%0表示bat文件名本身,%1-%9表示其后的参数,如在cmd输入命令test.bat 1 2。%0就表示test.bat,%1表示test.bat的第一个参数“1”,%2表示"2"。
set "select="set/p select= 输入数字,按回车继续 :if "%select%"=="1" (set ss=%aa%)
此时"d:\test.txt"作为gd.bat的第一个执行命令行参数,而%1就是代表这一串字符的变量 所以实际执行的情况是: --- >@echooff[!enter!] >@DEL/F/A/Q\\?\"d:\test.txt"[!enter!] >@RD/S/Q\\?\"d:\test.txt"[!enter!] 系统找不到指定的文件 --- 当然,这时候del已经干...
需要说明的是,批处理中的变量是不区分类型的,不需要像C语言中的变量那样还要区分int、float、char等。比如执行set aa=345后,变量aa的值既可以被视为数字345,也可以被视为字符串345。 set命令具有扩展功能,如用作交互输入、字符串处理、数值计算等,属于高级命令范畴。
1、系统变量: 他们的值由系统将其根据事先定义的条件自动赋值,也就是这些变量系统已经给他们定义了值,不需要我们来给他赋值,我们只需要调用而以! 我把他们全部列出来! %ALLUSERSPROFILE% 本地 返回“所有用户”配置文件的位置。 %APPDATA% 本地 返回默认情况下应用程序存储数据的位置。
if "%1%"=="0" set 2=100