Idont know about your needs. but you can adopt something from my script:
ros code
/system script
add name=discovery policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":foreach i in=[ / ip arp find ] do={\r\
\n\t:if ( [ :len [ / ip firewall address-list find list=\"discovered\" address=[ / ip arp get \$i address ] ] ] = 0 ) do={\r\
\n\t\t/ ip firewall address-list add list=\"discovered\" address=[ / ip arp get \$i address ] comment=( [ / ip arp get \$i interface ] . \",\" . [ / ip arp get \$i mac-address ] )\r\
\n\t\t:log info ( \"discovery: found \" . [ / ip arp get \$i address ] . \" with mac-address \" . [ / ip arp get \$i mac-address ] . \" on interface \" . [ / ip arp get \$i interface ] )\r\
\n\t}\r\
\n} \r\
\n"
add name=wake-blade01 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade01\";/ tool wol 00:17:08:4E:EE:B4 interface=ether2; / tool wol 00:13:21:AF:D0:8A interface=ether2; / tool wol 00:13:21:\
AF:E0:9A interface=ether2; / tool wol 00:13:21:AF:E0:D1 interface=ether2; / tool wol 00:17:08:4F:27:EC interface=ether2; "
add name=wake-blade02 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade02\";/ tool wol 00:13:21:1D:5D:13 interface=ether2; / tool wol 00:13:21:AF:1A:82 interface=ether2; / tool wol 00:13:21:\
B2:DC:7D interface=ether2; / tool wol 00:13:21:B2:DC:7C interface=ether2; / tool wol 00:13:21:1E:7F:14 interface=ether2; "
add name=wake-blade03 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade03\";/ tool wol 00:13:21:1D:5D:0C interface=ether2; / tool wol 00:13:21:AE:7E:D1 interface=ether2; / tool wol 00:13:21:\
AE:6E:79 interface=ether2; / tool wol 00:13:21:AE:6E:7A interface=ether2; / tool wol 00:13:21:1C:62:D0 interface=ether2; "
add name=wake-blade04 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade04\";/ tool wol 00:17:08:4E:3F:F3 interface=ether2; / tool wol 00:13:21:AF:B0:5B interface=ether2; / tool wol 00:13:21:\
AF:01:22 interface=ether2; / tool wol 00:13:21:AF:01:21 interface=ether2; / tool wol 00:17:08:4F:EC:2C interface=ether2; "
add name=wake-blade05 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade05\";/ tool wol 00:13:21:1D:5D:19 interface=ether2; / tool wol 00:13:21:AE:7E:7B interface=ether2; / tool wol 00:13:21:\
B2:0C:C3 interface=ether2; / tool wol 00:13:21:B2:0C:C2 interface=ether2; / tool wol 00:13:21:1E:6F:DC interface=ether2; "
add name=wake-blade06 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade06\";/ tool wol 00:13:21:1D:5D:5E interface=ether2; / tool wol 00:13:21:AF:D0:34 interface=ether2; / tool wol 00:13:21:\
AF:F0:A9 interface=ether2; / tool wol 00:13:21:AF:F0:AA interface=ether2; / tool wol 00:13:21:1C:62:9A interface=ether2; "
add name=wake-blade07 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade07\";/ tool wol 00:13:21:1D:9D:8D interface=ether2; / tool wol 00:13:21:AE:7E:99 interface=ether2; / tool wol 00:13:21:\
B2:0C:B3 interface=ether2; / tool wol 00:13:21:B2:0C:AE interface=ether2; / tool wol 00:13:21:1D:CB:96 interface=ether2; "
add name=wake-blade08 policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=":log info \"waking blade08\";/ tool wol 00:13:21:1D:5D:69 interface=ether2; / tool wol 00:13:21:AF:18:A8 interface=ether2; / tool wol 00:13:21:\
B2:EB:0E interface=ether2; / tool wol 00:13:21:B2:EB:20 interface=ether2; / tool wol 00:13:21:1C:62:8A interface=ether2; "
add name=wake-all-blades policy=ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api source=\
"\
\n:for v from=1 to=8 do={ :foreach s in=[ / system script find name=( \"wake-blade0\" . \$v ) ] do={ / system script run \$s; :delay 500ms; } }\
\n"