Board logo

标题: [数值计算] 字符是否可以参加运算? [打印本页]

作者: ibm    时间: 2008-9-18 16:45     标题: 字符是否可以参加运算?

在命令行下,字符是否也可以参加运算:

例:变量Var的初值是A,想得到B
Var=A++
该如何实现?

再如:变量Menu的初值是MenuA,想得到MenuB,该如何实现?

谢谢!
作者: pusofalse    时间: 2008-9-18 16:48

自己看吧。
  1.     ()                  - 分组
  2.     ! ~ -               - 一元运算符
  3.     * / %               - 算数运算符
  4.     + -                 - 算数运算符
  5.     << >>               - 逻辑移位
  6.                        - 按位“与”
  7.     ^                   - 按位“异”
  8.     |                   - 按位“或”
  9.     = *= /= %= += -=    - 赋值
  10.       &= ^= |= <<= >>=
  11.     ,                   - 表达式分隔符
  12. 如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
  13. 引号扩起来。在表达式中的任何非数字字符串键作为环境变量
  14. 名称,这些环境变量名称的值已在使用前转换成数字。如果指定
  15. 了一个环境变量名称,但未在当前环境中定义,那么值将被定为
  16. 零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
  17. 来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
  18. 那么它显示该表达式的最后值。该分配的操作符在分配的操作符
  19. 左边需要一个环境变量名称。除十六进制有 0x 前缀, 八进制
  20. 有 0 前缀的,数字值为十进位数字。因此, 0x12 与 18 和 022
  21. 相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,
  22. 因为 8 和 9 不是有效的八进制位数。
复制代码

作者: namejm    时间: 2008-9-18 16:49

  批处理只支持数值运算,不支持字符运算。
作者: ibm    时间: 2008-9-18 16:54

变量Menu的初值是MenuA,想得到MenuB,该如何实现?



那我提出的问题就是说不能解决了吗?

[ 本帖最后由 ibm 于 2008-9-18 16:55 编辑 ]
作者: namejm    时间: 2008-9-18 17:01

  那要看你的meunA和meunB这两个字符串有什么样的对应关系,一般可以通过if语句转化的,不必强求用字符运算来解决。
作者: lovelymorning    时间: 2008-9-18 17:43

反问一下楼主:
那请你用你的脑运算一下,怎样运算,才能将 meunA 变成 meunB
作者: ibm    时间: 2008-9-18 21:34

不是将meunA 变成 meunB
而是:
第一步:menuA赋值给menu,然后处理,
第二步:menub赋值给menu,然后处理,
…………
作者: shqf    时间: 2008-9-18 22:26

那就用两个SET赋值。但这…实在不懂楼主的意思了
作者: everest79    时间: 2008-9-19 07:38

  1. @echo off
  2. for /l %%i in (1,1,5) do set  /a menu%%i=%%i*10
  3. for /l %%i in (1,1,5) do (
  4. set /a A+=1
  5. call call echo %%%%menu%%a%%%%%%
  6. )
  7. pause
复制代码

作者: ibm    时间: 2008-9-21 13:05

楼上的才是我真正想要的,谢谢!

但还有个问题,不知道为什么要加那多么的[ % ]?

[ 本帖最后由 ibm 于 2008-9-21 13:08 编辑 ]
作者: Batcher    时间: 2008-9-21 13:10     标题: 回复 10楼 的帖子

变量延迟详解
http://www.cn-dos.net/forum/viewthread.php?tid=28273

什么情况下该使用变量延迟
http://www.cn-dos.net/forum/viewthread.php?tid=20733

一个变量嵌套变量的问题
http://www.cn-dos.net/forum/viewthread.php?tid=41143




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