goonx 发表于 2009-5-6 22:54:11

这个表达式这么写

本帖最后由 goonx 于 2009-5-10 21:27 编辑

ComputerName=a001~a100(一共100个号)
------------------------------------------------------------------
$var=StringRight(@ComputerName,3)
Switch $var
   Case $var=0 Or $var=30*1 Or $var=30*2 Or $var=30*3 Or $var=30*4
         RegWrite('HKEY_CURRENT_USER\Software','KEY','REG_SZ','123')
   Case $var=1 Or $var=1+30*1 Or $var=1+30*2 Or $var=1+30*3 Or $var=1+30*4
         RegWrite('HKEY_CURRENT_USER\Software','KEY','REG_SZ','133')
EndSwitch
-------------------------------------------------------------------
我想30个数据一循环如:
0-30-60-90-120
1-31-61-91-121
2-32-62-92-122
3-33-63-93-123
依次类推~~~~~~

sensel 发表于 2009-5-7 00:39:01

Switch Mod($var, 30)
数值取模

goonx 发表于 2009-5-7 09:29:32

可以在具体点吗?这个我没看懂

sensel 发表于 2009-5-7 12:59:11

$var = StringRight(@ComputerName, 3)
Switch Mod($var, 30)
        Case 0
        Case 1
        Case 2
        Case 3
        ...
        Case 29
EndSwitch

goonx 发表于 2009-5-10 21:25:35

谢谢!按你的提示写好了,只是$var取的值不在模里也会选Case 0。不知道这样是对还是错!

sensel 发表于 2009-5-11 00:29:12

Mod($var, 30) 就是将$var除以30再取余数,由上面代码可知$var是一个正整数,所以结果肯定在0-29之间。
之所以用Mod是这样符合你在一楼的要求(30个数据一循环)。
页: [1]
查看完整版本: 这个表达式这么写