BAT脚本__赋值 调用 参数

目录 

Title

Set

Call

:EOF

Start

参数的输入与输出





Title

title 现在标题已经换成这句了

Set

1. 字符串赋值:

set var=Hello world!

2. 整型赋值(有符号,4字节):

set /a var=48

注意点:

set var1=3
set /a var2=5+%var1%  => var1被转换为整型3
echo %var2%  => 这里是8

3. 从外部获得输入:

set /p var=请输入一些文字:

4. 字符处理

a. 字符替换

set var2=%var:ld=ms and bugs%  => ld 替换成 ms and bugs

b. 控制字符输出

输入的命令    结果    效果                    
echo %var%    1234567890 显示所有                  
echo %var:~4%   567890   从第4个字符以后开始显示          
echo %var:~4,3%  567     从第4个字符以后开始显示,并只显示前3个   
echo %var:~-4%  7890    从倒数第4个字符开始显示          
echo %var:~-4,3% 789     从倒数第4个字符开始显示,并只显示前3个   
echo %var:~4,-2% 5678    从第4个字符以后开始显示,显示到还剩2个为止 
echo %var:~0,3%  123     从头开始显示,并只显示前3个字符      
echo %var:~0,-3% 1234567   从头开始显示,显示到还剩3个字符为止

c. 字符拼接

set var2=789abc
set var3=123456
set var1=%var3:~2,3%%var2:~3,3%
echo %var1%  => var1为345abc

Call

1. 调用其他新的批处理

当前批处理就会暂停,直到新的批处理结束后,之前的批处理才会继续执行。(并行处理使用start)

call test.bat

call ..\abc\test.bat

call D:\abc\test.bat

2. 作跳转使用

与goto的区别:被跳转标签后的内容处理完成以后,控制会继续执行 call 后面的语句。

::::::::::::跳转.bat:::::::::::: 
@echo off 
call :FirstLable 

:SecondLable 
echo 然后显示这句 
pause 
goto :EOF 

:FirstLable 
echo 首先显示这句 
pause 
::goto :SecondLable 
:::::::::::::::::::::::::::::::: 
在用 call 跳转到 :FirstLabel 处执行到程序结尾后(此时 call 的任务才刚刚完成),会继续回到 call 语句后的 :SecondLabel 处。假如 goto :SecondLabel 这一句没有被注释掉的话,那么控制会跳转到 :SecondLabel 处直到 goto :EOF 处 call 的使命才真正完成。而且,call 在完成任务后,下面的 :SecondLabel 处内容会再次执行一遍。

:EOF

隐形标签文件尾

goto :EOF

Start

start msconfig  => 用来打开"系统配置应用程序"

start cmd  => 用来打开一个新的命令提示符

start "随便写个标题"  => 标题要用双引号引用起来,否则会被作为可执行的文件来处理

start http://www.baidu.com  => 便打开百度的首页

start E:\game\starcraft\starcraft.exe  => 开始星际争霸

start next.bat  => 启动另一个批处理 ,与当前bat并行处理

参数的输入与输出

Num作为数值参数,Square作为变量参数,变量参数可作输出参数。

===cur.bat===

echo here is cur.bat 
set /a Num=4
set /a Square=1
call current.bat %Num% Square 
echo come back to cur.bat , and %Num% square is %Square%
pause 

===current.bat===

echo here is current.bat 
echo first var is %1 
echo second var is %2 
set /a %2=%1*%1 
echo after cal, var1 is %1
echo after cal, var2 is %2 

输出:

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值