0

我正在运行一个简单的 imacro 来使用 123reg 的前端自动添加子域 dns 记录。但是,我需要使用的命名约定导致了一些问题。

我有两个域我在 domain1.com 上映射 xxx1 - xxx128 在 domain2.com 上 xxx129 - xxx254

这是我用来映射 domain1.com 地址的代码

TAB T=1
SET !LOOP 1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!LOOP}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2

理想情况下,我一直在尝试添加一个变量 !VAR0 并做一些简单的数学运算,即。

!VAR0 !LOOP
ADD !VAR0 -128
TAB T=1
SET !LOOP 1
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!VAR0}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2

这种格式只是将“!LOOP”添加到!VAR0 ...有没有办法在imacros中将一个变量值设置为另一个变量的值?我知道它的数学功能非常有限......

4

2 回答 2

0

我通过更好的思考找到了解决问题的方法!用 {{}} 包围变量或循环(!VAR0 或 !LOOP),即 {{!LOOP}} 将给出该变量的值。

要设置变量的值,然后对其执行数学运算:

!VAR0 {{!LOOP}} 
!VAR0 - 128

以下是我上面示例的解决方案,在 123reg.com 的高级 DNS 条目下,将允许非常快速和自动添加格式为 mx0.domain.com 的子域,其中“0”是数字范围,xxx 是IP 地址的前 3 点;如果您将 IP 范围映射到服务器 DNS 上的子域,则很有用。

TAB T=1
SET !LOOP 129
SET !VAR0 {{!LOOP}}
ADD !VAR0 -128
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:hostname CONTENT=mx{{!VAR0}}
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:advanced_DNS ATTR=NAME:data_A CONTENT=x.x.x.{{!LOOP}}
TAG POS=1 TYPE=A ATTR=ID:save_dns_entries
WAIT SECONDS=2
于 2013-01-07T16:04:48.300 回答
0

或者您可以使用 iMacros 脚本接口。以及命令 iimSet 和 iimPlay。

于 2013-01-08T01:28:49.103 回答