标题: [文本处理] 批处理命令call是如何解释执行的? [打印本页]
作者: 悬崖之树 时间: 2012-12-11 19:40 标题: 批处理命令call是如何解释执行的?
- @echo off
- setlocal enabledelayedexpansion
- set str1=abcd&set count1=2&call set str3=%%str1:~!count1!,1%%
- echo %str3%
- pause
复制代码
我想知道命令解释器对上面的代码是如何解释执行的,不知道先是把%%换成%还是先替换!count1! ?
还是 第一步:同时替换 %% 和 !count1! 这样代码就成了 set str3=%str1:~2,1%
第二步:执行set str3=%str1:~2,1%就把 str3赋值为 c
作者: poter 时间: 2012-12-11 19:59
批处理预加载的话,应该是先读取变量!count1!的值
然后再通过call转义,把%%号变成惊叹号,set str3=!str:~2,1!
作者: BAT-VBS 时间: 2012-12-11 22:21
你把@echo off删掉就知道了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |