在InstallAnywhere中增加数值

时间:2014-01-06 20:04:02

标签: batch-file counter installanywhere

对于那些使用过InstallAnywhere的人,我有一个问题:

我基本上在InstallAnywhere项目中编写了一个while循环。我想要找到的是在“While循环”中实现计数器的简单方法。这是我尝试的一些伪代码:

Set InstallAnywhere Variable: $COUNT$ = 0
Jump Label: while
Execute Script/Batch File:
    @echo off
    set /a TEMP_NUM=$COUNT$+1 > nul
    echo %TEMP_NUM%
Set InstallAnywhere Variable: $COUNT$ = $EXECUTE_STDOUT$
Jump: while    Rule: $COUNT$ [Less Than or Equal to] 100

以上代码将$ COUNT $设置为以下内容:

Loop 0:
    1
Loop 1:
    1
Loop 2:
    1
...

我想知道是否会发生这种情况是因为InstallAnywhere在第一个循环中将批处理文件中的$ COUNT $替换为0,然后在后续循环中重新使用已替换$ COUNT $的同一批处理文件(如在batch for循环或if语句。)

2 个答案:

答案 0 :(得分:0)

是否可以使用特殊键$ lax.nl.env.counts $从OS ENV表访问$ COUNTS $?每个文档,

  

您可以访问任何系统环境变量(例如,访问权限)   路径通过$ lax.nl.env.path $)通过将属性名称指定为   全小写字符串。这些属性在应用时得到解决   运行时,LaunchAnywhere执行时。您也可以访问   系统环境变量通过InstallAnywhere变量。

答案 1 :(得分:0)

只需在代码中添加一些行号:

  
      
  1. 设置InstallAnywhere变量:$ COUNT $ = 0
  2.   
  3. 跳转标签:while
  4.   
  5. 执行脚本/批处理文件:
  6.   
  7. @echo off
  8.   
  9. 设置/ a TEMP_NUM = $ COUNT $ + 1> NUL
  10.   
  11. echo%TEMP_NUM%
  12.   
  13. 设置InstallAnywhere变量:$ COUNT $ = $ EXECUTE_STDOUT $
  14.   
  15. 跳转:while规则:$ COUNT $ [小于或等于] 100
  16.   

在第5行和第6行中,您实际所做的是: echo $ COUNT $ + 1

在第7行中,您将COUNT设置为$ EXECUTE_STDOUT $(通常为0,我相信?) 这可以解释为什么它每次打印1,因为$ COUNT $在每个循环结束时设置为0。