Увеличение числового значения в InstallAnywhere

У меня есть вопрос к тем из вас, кто работал с InstallAnywhere:

По сути, я написал цикл while в проекте InstallAnywhere. То, что я хотел бы найти, - это простой и легкий способ реализовать счетчик внутри этого цикла. Вот некоторый псевдокод моей попытки:

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$ (как в пакете для цикла или если заявление).

2 ответа

Просто добавьте несколько номеров строк в ваш код:

  1. Установите переменную InstallAnywhere: $COUNT$ = 0
  2. Метка прыжка: пока
  3. Выполнить скрипт / командный файл:
  4. @ эхо выключено
  5. set / a TEMP_NUM = $ COUNT $ + 1> nul
  6. echo% TEMP_NUM%
  7. Установить переменную InstallAnywhere: $COUNT$ = $EXECUTE_STDOUT$
  8. Прыжок: в то время как правило: $COUNT$ [меньше или равно] 100

В строках 5 и 6 вы по сути делаете следующее: echo $ COUNT $ + 1

В строке 7 вы устанавливаете COUNT в $EXECUTE_STDOUT$ (обычно это 0, я полагаю?). Это объясняет, почему он печатает 1 каждый раз, потому что $ COUNT $ устанавливается в 0 в конце каждого цикла.

Может ли быть так, что $COUNTS$ должен быть доступен из таблицы OS ENV с помощью специального ключа $lax.nl.env.counts$? по документам,

Вы можете получить доступ к любой переменной системной среды (например, к пути доступа через $lax.nl.env.path$), указав имя свойства в виде строчной буквы. Эти свойства разрешаются во время выполнения приложения, когда выполняется LaunchAnywhere. Вы также можете получить доступ к системным переменным через переменные InstallAnywhere.

Другие вопросы по тегам