bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx

上传人:b****6 文档编号:15903653 上传时间:2022-11-16 格式:DOCX 页数:11 大小:21.08KB
下载 相关 举报
bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx_第1页
第1页 / 共11页
bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx_第2页
第2页 / 共11页
bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx_第3页
第3页 / 共11页
bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx_第4页
第4页 / 共11页
bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx

《bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx》由会员分享,可在线阅读,更多相关《bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx(11页珍藏版)》请在冰豆网上搜索。

bat语法点滴批处理Set命令详解让你理解set命令Word下载.docx

         在环境变量PATH指定的路径中搜索文件,

         扩充%I为找到的第一个文件的完整路径;

         若未找到文件,则扩充%I为空。

组合扩展参数效果:

%~dpI    -仅扩充%I为驱动器号和路径

%~nxI    -仅扩充%I为文件名加扩展名

%~fsI    -扩充%I为完整的短名路径(同%~sI)

%~dp$PATH:

I -搜索变量PATH中的路径,

         仅扩充%I为找到的第一个文件驱动器号和路径。

%~ftzaI   -扩充%I为类似DIR命令的输出格式

以上例子中,%I和PATH可用其他有效的变量替代。

%~百分号加波浪线用法是后面必须跟有效的FOR变量名。

推荐使用诸如%I的大写变量名,这样不仅易读且可避免混淆。

◎当然这是因人而异的。

 

如果是for中的变量例如%%i可以写成%%~ni

网上看了很多的set命令,但对于set/a这类参数不是很详细,脚本之家编辑特从网上收集一些实际的例子等,结合在一起,让大家能快速的理解。

set,E文翻译过来就是“设置”的意思,相当于数学里的“令”。

如:

setX=5,就是令X=5的意思。

set的通常用法示例:

1、set显示环境变量:

在命令行下输入:

set会显示当前所有的系统环境变量

setc会显示所有的以c开头或C开头的变量(也即不区分大小写);

setcom会显示所有的以com开头或COM开头的变量(不区分大小写);

2、set设置环境变量,用法示例:

set表达式,

setstr=ok

就是将变量str的值设置成字符串“OK”

注意:

setstr=ok>

这个在批处理运行过程中会出错,系统会提示:

“命令语法不正确。

原因是,因为变量str中的值“ok>

”的字符"

>

"

为一特殊字符,会被系统当成定向符处理,所以会运行出错,那如果确实要设置这样的变量str,值为"

ok>

怎么办呢?

解决办法有二:

将特殊字符转义,转义方法在该特殊字符前加一个“^”,如:

setstr=ok^>

(这种方法比较少用,因为没有多少应用价值)

常见的解决办法,在set后面将整个表达式用引号括起来,如:

set"

str=>

3、带参数/a的set数值计算

set的/A参数就是让SET可以支持数学符号进行加减等一些数学运算!

支持的数学运算包含(优先权递减):

()-分组

!

~--一元运算符

*/%-算数运算符

+--算数运算符

<

>

-逻辑移位

&

-按位“与”

^-按位“异”

|-按位“或”

=*=/=%=+=-=-赋值

=^=|=<

=>

=

-表达式分隔符

用法示例:

set/anum=2*10,这样变量num的值将变为:

20

复制代码代码如下:

set/avar=2-1结果是多少呢?

如果你看不到结果就echo%var%.....

set/avar=2*2乘法运算

set/avar=2/2除法运算

set/avar=(1+1)+(1+1)结果等于4看得懂吧!

set/aa=1+1,b=2+1,c=3+1运行后会显示一个4,但我们用

echo%a%%b%%c%后看结果,会发现其他数学运算也有效果!

这就是"

斗"

号的

作用!

有时候我们需要直接在原变量进行加减操作就可以用这种语法

set/avar+=1这样的语法对应原始语法就是set/avar=%var%+1

都是一样的结果。

对于"

逻辑或取余操作符"

我们需要把他们用双引号引起来,看例子

set/avar=1"

1这样结果就显示出来了,其他逻辑或取余操作符用法

+"

1异运算

%"

1取模运算

set/avar=2"

2次方运算

set/avar=4"

2这个不太记得数学里的叫法....

这些符号也可以用&

=这样的简单用法如

set/avar"

="

1等于set/avar=%var%"

1注意引号

4、带参数/p的set等待用户输入

windows2000和windows是没有choice这个命令,choice的等待用户输入功能就要通过set/p来实现

演示如下:

@echooff

set/pstr=请输入你想输入的字符:

echo你输入的字符串为:

%str%

pause>

nul

set/p的特殊应用(set/p=<

nul相当于输出字符并不带回车,利用这个性质,可以做出比较漂亮的动画),用法示例:

for/l%%iin(1170)do(

set/p=O<

for/l%%ain(1150)dover>

注:

代码中用到了一句for/l%%ain(1150)dover>

nul,它的目的是利用for循环运行某一命令来达到延时的目的。

5、利用set截取字符保存下面的代码为test.bat运行查看即可。

@echooff&

color1f&

remnum=15nums=30

modecon:

cols=80lines=35

var=90"

num="

nums="

rem第一屏舍弃

cls&

echo第一屏舍弃

echo\&

echo%num%var=%var%&

echo\

for/l%%iin(113)docall:

dan%%i

for/l%%iin(011)docall:

yi%%i

for/l%%iin(012)docall:

_yi%%i

echo~波浪号后面的数字:

为正数表示舍弃变量的前位;

echo,逗号后面的数字为正数表示取变量的舍弃以后的前几位;

echo,逗号后面为负数表示舍弃变量的后几位

pause&

color1e

rem第二屏取

echo第二屏取

for/l%%iin(-1-1-3)docall:

for/l%%iin(-4-1-6)docall:

er%%i

call:

_er-8

echo~波浪号后面直接跟负数表示取变量的后几位

color1f

rem第三屏替换删除

echo第三屏替换删除

var=abc:

\123\ef:

g\123\456"

hij"

789"

klm\"

echo%num%var=%var%

san

echo=号左边为要替换掉的字符,右边为需替换来的字符

echo=号左边要替换掉的字符前面加个*号,代表第一次出现的字符及其前面的所有字符

echo=========演示完毕=========按任意键退出==========

exit

:

dan

setshu=%1

if%shu%lss0(setaa=取&

setji=最后)elsesetaa=舍弃&

setji=前

if"

%shu:

~0,1%"

=="

-"

setshu=%shu:

~1%

setstr1=%%var:

~%1%%%num%

setstr2=%aa%var的%ji%%shu%位%nums%

callsetstr3=%%var:

callecho%%str1:

~0,15%%%%str2:

~0,30%%%%str3:

~0,15%%

goto:

eof

yi

for/l%%iin(113)do(

~%1,%%i%%%num%

setstr2=%aa%var的%ji%%shu%位之后取%%i位%nums%

~0,26%%%%str3:

if%%i==3echo\

_yi

for/l%%iin(-1-1-3)do(

setstr2=舍弃var的前%1位和%%i位%nums%

~0,28%%%%str3:

if%%i==-3echo\

er

setsss=%1

setsss=%sss:

setstr2=从var的倒数%sss%位开始取%%i位%nums%

~0,15%%%%

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1