我有一个问题要问那些使用过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$ 的相同批处理文件(例如在批处理 for 循环或 if 语句中)。
使用特殊键$lax.nl.env.counts$从OS ENV表中访问$COUNTS$?
您可以访问任何系统环境变量(例如,访问 通过 $lax.nl.env.path$) 的路径,方法是将属性名称指定为 全小写字符串。这些属性在应用程序时解析 运行时,当 LaunchAnywhere 执行时。您还可以访问 通过 InstallAnywhere 变量的系统环境变量。
刚刚在代码中添加了一些行号:
- 设置随处安装变量:$COUNT$ = 0
- 跳转标签:而
- 执行脚本/批处理文件:
- @echo
- 设置/a TEMP_NUM=$COUNT$+1> NUL
- 回声 %TEMP_NUM%
- 设置 InstallAnywhere 变量:$COUNT$ = $EXECUTE_STDOUT$
- 跳转:而规则:$COUNT$ [小于等于] 100
在第 5 行和第 6 行中,您基本上要做的是:echo $COUNT$+1
在第 7 行中,您将 COUNT 设置为 $EXECUTE_STDOUT$(我相信通常是 0?这可以解释为什么它每次都打印 1,因为 $COUNT$ 在每个循环结束时设置为 0。