Board logo

标题: 批处理中变量截取的三种写法 [打印本页]

作者: tyc    时间: 2009-4-12 11:36     标题: 批处理中变量截取的三种写法

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set a=123456789
  4. set n=3
  5. set b=!a:~%n%,1!
  6. echo %b%
  7. echo ====================
  8. set b=%a:~!n!,1%
  9. echo %b%不能得出想要的结果
  10. echo ====================
  11. set b=%a:~3,1%
  12. echo %b%
  13. echo ====================
  14. call set b=%%a:~!n!,1%%
  15. echo %b%
  16. pause>nul
复制代码
你学到了什么?

[ 本帖最后由 tyc 于 2009-4-12 12:39 编辑 ]
作者: energy2009    时间: 2009-4-13 20:42

好的,但是不是很理解。准备先背下来再说。。。。
作者: Batcher    时间: 2009-4-13 20:49

开了变量延迟扩展,就别去再用call了,否则会降低执行效率。
作者: qhmpv    时间: 2019-7-7 21:08

我现在感觉批处理里最难懂的就是各种符号组成的变量,看的头大,有没有大神能解释一下
作者: Batcher    时间: 2019-7-8 08:28

回复 4# qhmpv


批处理常用符号详解
http://bbs.bathome.net/thread-1205-1-1.html#pid25363

具体哪个不懂,再具体来问吧。
作者: impk    时间: 2019-8-16 13:58

回复 5# Batcher

已看过常用符号教程
一楼代码14行为什么要用【call set】而不是【set】?
14行中的【b=%%a:~!n!,1%%】为什么有这么多【%】符号?
作者: Batcher    时间: 2019-8-18 17:11

回复 6# impk


阅读教程:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
作者: okx_cn    时间: 2020-4-6 11:59

这个批处理有必要做延迟么?又不复合又不嵌套的




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2