use v6;
if (@*ARGS != 1) {say 'Use:scan.p6 ip';exit;}
my $check_ip = @*ARGS[0];
$check_ip = '<value>'~$check_ip~'</value>';
say $check_ip;
my $stat_file = 'Smbtouch-1.1.1.xml';
my $chang_file = slurp $stat_file;
my $swap_data = do given $chang_file {S/\<value\>\d**1..3\.\d**1..3\.\d**1..3\.\d**1..3\<\/value\>/$check_ip/;};
spurt $stat_file, $swap_data;
shell 'Smbtouch-1.1.1.exe';
这是一个写批量的原型
关键点是修改smbtouch中的IP地址
持续修改IP地址就是批量版本
perl6里没找到原地修改文件的方 法, 这里用的是:
1. 把文件读进一个变量
2. 替换IP
3. 把变量写进配置文件进行覆盖
你起码要有一个smbtouch 的exe测试文件(这些文件在nsa里有), 如下: