BAT脚本__赋值 调用 参数

Title title 现在标题已经换成这句了
Set 字符串赋值:
set var=Hello world!
整型赋值(有符号,4字节):
set /a var=48
*注意点:
set var1=3
set /a var2=5+%var1% => var1被转换为整型3
echo %var2% => 这里是8
从外部获得输入:
set /p var=请输入一些文字:
字符处理:
字符替换 set var2=%var:ld=ms and bugs% => ld 替换成 ms and bugs
控制字符输出 输入的命令结果效果
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个字符为止
字符拼接 set var2=789abc
set var3=123456
set var1=%var3:~2,3%%var2:~3,3%
echo %var1% => var1为345abc
Call 调用其他新的批处理
【BAT脚本__赋值 调用 参数】当前批处理就会暂停,直到新的批处理结束后,之前的批处理才会继续执行。(并行处理使用start)
call test.bat
call ..\abc\test.bat
call D:\abc\test.bat
作跳转使用
与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
输出:
BAT脚本__赋值 调用 参数
文章图片

    推荐阅读