Bat批处理脚本程序<三> 延迟变量扩展和Call

原创

直接上脚本吧,不难,但是有点饶头。Bat东西说多不多,说不多也蛮多的,学个入门就差不多了,不想再深入了,能看懂会修改一点就可以了,比如编译COCOS游戏什么的,批量复制个文件啥的,看了两三天,倒也不觉得浪费时间。


Call练习.bat

@echo off
:: %0 是脚本自身 
echo 你调用了  %0
echo 传过来的第一个参数是:  %1 第二个参数是:  %2 

set /a BBB=888

pause

变量延迟.bat

@echo off

::1.Call
::调用  练习.bat  参数1:100   参数2:我是大帅哥
call D:\Call练习.bat 100 我是大帅哥 
::可以直接继承变量BBB
echo %BBB%
::调用完成后,继续执行
pause


::2.没有开启变量延迟扩展
set /a AAA=0
for /L %%a in (1,1,5) do (
    set /a AAA=%%a
    ::这里的 AAA 永远等于0,因为do()后面复合语句,所有的命令是相当于一条命令来执行,相当于所有命令并行
    echo %AAA%
)
::这里AAA=5
echo %AAA%
pause


::3.开启变量延迟扩展
setlocal EnableDelayedExpansion 

set /a AAA=0
for /L %%a in (1,1,5) do (
    set /a AAA=%%a
    ::开启变量延迟扩展后,用!AAA!来取值,%AAA%还是等于0
    echo !AAA!
)
::这里AAA=5
echo %AAA%
pause


//改变工作目录为F盘
pushd F:\   

//回到当前目录(%~dp0
popd


脚本下载:

http://download.csdn.net/download/u012322710/10190451


猜你喜欢

转载自blog.csdn.net/u012322710/article/details/78982780