@echo off
pause
call :r 0015.3
pause
:r
set hf=%1
::set hf==A%$d=$!=%t:*=%*=!!%!%=%hf:*^=%=?%#%|ECHO YY
echo %hf%
pause
pause
::跳至r标签处理
set hf=%1
echo %hf%
pause
::r标签处理结束
::call结束 返回原处继续向下执行
pause
::准确来说在上面的pause后应该接一个exit 否则的话就会继续向下执行 这也是第四个pause出现的原因
set hf=%1
echo %hf%
pause
@echo off
pause
call :r 0015.3
pause
:r
set hf=%1
::set hf==%t:*=%*=!!A%$d=$!=%!%=%hf:*^=%=?%#%|ECHO YY
echo %hf%
pause
pause
:跳至f标签
set hf=%1
::输出hf值,此时为 0015.3
echo %hf%
pause
::call结束返回原处
pause
::此时%1值为空,等同于set hf= ,即清除变量hf
set hf=%1
::接上句,变量hf已被清除,等同于 echo ,输出echo当前状态,由第一句的echo off,即当前echo处于关闭状态
echo %hf%
pause
原帖由 sratlf 于 2012-2-19 21:33 发表
你自己试下就知道了
如果扩展指的是 %* 的话 那么为什么将"%hf:*"改为"%haf:*" "%hbf:*" "%f:*" "%h:*" 等等就不报错了呢。。。
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) | Powered by Discuz! X3.3 |