在天之鸟 发表于 2011-2-18 15:16:54

关于脚本命令的求助

如何用命令将一条规则置顶呢?比如我的IP-FIR-NAT里有三条规则,分别为A、B、C,排列的顺序也为ABC,我现在想使用一条命令将C排到A前面变成CAB,用WINBOX可以直接用鼠标,但是我这边现在只能进TELNET,所以请各位前辈帮一下忙,谢谢。

9939781 发表于 2011-2-18 15:57:06

:L你这个问题太牛B了,坐等高人指点。。。

host2318 发表于 2011-2-18 16:28:05

本帖最后由 host2318 于 2011-2-18 16:29 编辑

按照我的理解就是你想移动一条规则到所在表的最顶端。

这个在ros里面是支持的
1.在终端下(new terminal)输入IP FIR NAT print
2.查看你要移动的规则的编号。按照你说的C的话编号应该是2。输入命令
move 2 0
再去winbox的对应图形界面下看,已经移动到顶端了。

move                2                        0
移动需要的第几条规则到0的位置,就是对顶端


这个命令在任何一个可以拖动的地方都是可以用的

在天之鸟 发表于 2011-2-19 09:28:03

非常感谢楼上的解答,麻烦再帮助一下,假如我想写一个脚本,条件是COMMENT=TEL的就使用MOVE提到0的位置,这个应该怎么写呢?请老大再次出手帮一下,谢谢。

9939781 发表于 2011-2-19 10:23:08

host2318 发表于 2011-2-18 16:28 static/image/common/back.gif
按照我的理解就是你想移动一条规则到所在表的最顶端。

这个在ros里面是支持的


:funk: 太牛了,膜拜。。。。

网中$漫步 发表于 2011-2-19 11:00:57

回复 在天之鸟 的帖子

/ip firewall mangle move [ /ip firewall mangle find comment=TEL] 0
试下这个!!

ksw520 发表于 2011-2-19 11:01:18

:local kswtop
:local topname
:local tempsim
:set topname TEL
:set tempsim
:set kswtop ] comment]
:if ($kswtop != $topname ) do={/ip firewall nat move $topname $kswtop}楼主是否要这样的效果

网中$漫步 发表于 2011-2-19 11:10:44

:L NAT 我看成了mangle不过写法一样!
/ip firewall nat move [ /ip firewall nat find comment=TEL] 0

47771885 发表于 2011-2-19 12:28:49

本帖最后由 47771885 于 2011-2-19 12:33 编辑

ksw520 发表于 2011-2-19 11:01 static/image/common/back.gif
楼主是否要这样的效果

如果在 终端执行的话 可用的脚本如下

应该是这样

{
#QQ47771885 12:30 2011-02-19
/ip firewall nat
:local num 0
:local comx "xxx"
:if ( != $comx) do={move $num; enable }
}

:local num 0 0是想要移动到的位置
:local comx "xxx" xxx 是你要被移动的规则备注
此语法防止重复移动操作

zooyo 发表于 2011-2-19 12:35:37

这么多大佬都来帮忙啊。不错。

在天之鸟 发表于 2011-2-19 15:28:34

感谢各位老大的帮助,已经可以正常了,我之前是写成这样
/ip firewall nat> move 0
不知道为什么不行,现在看了各位老大的回复好像差不多,我就再试了一次结果可以了,好奇怪的事,可能是我之前输错了什么,非常感谢各位老大的帮助,谢谢。

linuxp 发表于 2011-2-19 20:15:52

收藏本帖.留作来用.专家文章.
页: [1]
查看完整版本: 关于脚本命令的求助