Dzwebs.Net

撰写电脑技术杂文十余年

批处理之变量嵌套与命令嵌套

Admin | 2013-11-14 1:18:00 | 被阅次数 | 7745

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  和其它编程语言相比,dos批处理功能显得相对简单,所以,要想实现比较复杂的功能,就得充分运用各种技巧,变量嵌套与命令嵌套就是此类技巧之一。

  先复习一下前面的“字符串截取”的关键内容:

  **********************************************
  截取功能统一语法格式为:%a:~[m[,n]]%
  **********************************************

  方括号表示可选,%为变量标识符,a为变量名,不可少,冒号用于分隔变量名和说明部分,符号~可以简单理解为“偏移”即可,m为偏移量(缺省为0),n为截取长度(缺省为全部)。

  百分号如果需要当成单一字符,必须写成%%

  以上是dos变量处理的通用格式,如果其中的m、n为变量,那么这种情况就是变量嵌套了。

  比如设变量word为“abcdefghij”,变量num为“123456789”
%word:~4,1%为e,其中4可以从变量num中取值,即%num:~3,1%,写成组合形式如下:
%word:~%num:~3,1%,1% 经测试这种写法不能正确执行,写成%word:~(%num:~3,1%),1%同样不行,那么,怎么实现这种变量嵌套呢?这就必须结合命令嵌套。

  什么是命令嵌套呢?简单的说,首先用一条dos命令生成一个字符串,而这个字符串是另一条dos命令,用call语句调用字符串将其执行,从而得到最终结果。

  例:用call语句实现命令嵌套
  @echo off
  set str1=aaa echo ok bbb
  echo 初始字符串:%str1%
  echo 生成命令字符串如下:
  echo %str1:~4,7%
  echo 运行命令字符串生成最终结果为:
  call %str1:~4,7%
  pause

  运行显示:
  初始字符串:aaa echo ok bbb
  生成命令字符串如下:
  echo ok
  运行命令字符串生成最终结果为:
  ok


该杂文来自: 基础知识杂文

上一篇:批处理中的重定向符>,>> ,<、>&、<&

下一篇:三星手机屏幕左上角出现一个圆圈里面一个感叹号

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计