trošku som popátral a poupravoval a v 6.42 mi funguje toto:
:if ( [/file get [/file find name=nazovsuboru.txt] size] > 0 ) do={
/ip firewall address-list remove [/ip firewall address-list find list=nazovlistu]
:local content [/file get [/file find name=nazovsuboru.txt] contents] ;
:local contentLen [ :len $content ] ;
:put ( "=>" . $content . "<=" )
:local lineEnd 0
:local line ""
:local lastEnd [ :tonum 0 ]
:do {
:set line [ :pick $content $lastEnd [ :find $content "\r\n" $lastEnd ] ]
:set lineEnd [:find $content "\n" $lastEnd ] ;
:put "lineEnd=$lineEnd< - lastEnd=$lastEnd - line=$line<"
:if ( [ :len $content ] = 0 ) do={
:put "UNIX"
:set line [ :pick $content $lastEnd [ :find $content "\r\n" $lastEnd ] ]
:set lineEnd [:find $content "\n" $lastEnd ] ;
}
:set lastEnd ( $lineEnd + 1 ) ;
:if ( [:pick $line 0 1] != "#" ) do={
:put ">$line<"
:if ( [:len $line ] > 0 ) do={ /ip firewall address-list add list=nazovlistu address=$line }
}
} while ($lineEnd < $contentLen)
}
prvý riadok txt obsahuje #, ak som ho tam nedal tak prvú IP zapísal 2x ( pričom zmazal prvý znak, neprišiel som na to prečo)
vyskúšané na .txt vytvorenom vo windows, je možné že unixové kódovanie bude treba upraviť
na začiatku je príkaz na zmazanie listu ak už existuje, ak to nepotrebuješ tak si ho zmaž
Mikrotik obmedzil veľkosť čítaného súboru na 4 KB takže pozor aký veľký bude texťák, možno ho budeš musieť rozdeliť