本帖最后由 laiu888 于 2015-9-13 21:22 编辑
1.-
- @echo off
- set "str=一二三四五六日"
- set /a num=%random%%%7
- call echo 星期%%str:~%num%,1%%
- pause>nul
复制代码 2.-
- @echo off
- setlocal enabledelayedexpansion
- set "str=日一二三四五六"
- set /a pp=%random%%%7
- echo 星期!str:~%pp%,1!
- pause>nul
复制代码 对于这两组处理,显示的结果都是一样,对于这句“星期%%str:~%num%,1%%”就是一个单句又不是复合句,因此搞不懂为什么第一个要开启变量延迟而调用call?
假如对第一个处理改为下面的格式,为什么不对?-
- @echo off
- set "str=一二三四五六日"
- set /a num=%random%%%7
- set /a str1=星期%str:~%num%,1%
- echo %str1%
- pause>nul
复制代码 研究了好长时间总是搞不懂,麻烦高人指点一下,感激不尽 |