[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理命令call是如何解释执行的?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str1=abcd&set count1=2&call set str3=%%str1:~!count1!,1%%
  4. echo %str3%
  5. pause
复制代码
我想知道命令解释器对上面的代码是如何解释执行的,不知道先是把%%换成%还是先替换!count1! ?
还是 第一步:同时替换 %% 和 !count1! 这样代码就成了 set str3=%str1:~2,1%
       第二步:执行set str3=%str1:~2,1%就把 str3赋值为 c
时光荏苒||新陈代谢&&涛声依旧||本性难移

你把@echo off删掉就知道了

TOP

批处理预加载的话,应该是先读取变量!count1!的值

然后再通过call转义,把%%号变成惊叹号,set str3=!str:~2,1!

TOP

返回列表