已解决!自动替换TXT相应的字符并写入新的配置文件中!
本帖最后由 zhenglei 于 2011-1-12 18:30 编辑1.TXT内容:
Doing NBT name scan for addresses from 192.168.10.1/24
IP address NetBIOS Name Server User MAC address
------------------------------------------------------------------------------
192.168.10.2 YJ002 <unknown> 00-19-66-fc-49-9d
192.168.10.4 YJ004 <unknown> 00-25-22-19-4d-5e
192.168.10.5 YJ005 <unknown> 00-25-22-0a-46-51
192.168.10.7 YJ007 <unknown> 00-25-22-09-87-2f
现要做修改一下 。。。 删除不用的字符。并重组写入2.ini中。
重新组合结果如下:2.ini内容 不知脚本该如何写???????????
YJ002=192.168.10.2|00-19-66-fc-49-9d
YJ004 =192.168.10.4 | 00-25-22-19-4D-5E
YJ005 =192.168.10.5| 00-25-22-0A-46-51
YJ007=192.168.10.7| 00-25-22-09-87-2F
咱们的AU3虽然也可以扫描 LAN 但速度实在是不敢恭维。。。。。 现在用其他的工具扫描了。现在需要提取修改整合一下内容。。请老大们试试 看是否能实现我要的结果。。。。。
#include <File.au3>
Dim $aFile, $sLine, $sName, $sIP, $sMAC
_FileReadToArray("1.txt", $aFile)
For $i = 5 To $aFile;数据从第五行开始的
$sLine = $aFile[$i]
$regTemp = StringRegExp($sLine, "YJ\d+", 3);用正则取机器名
$sName = $regTemp
$regTemp = StringRegExp($sLine, "192\.168\.\d{1,3}\.\d{1,3}", 3);取ip(简陋了点....)
$sIP = $regTemp
$regTemp = StringRegExp($sLine, "{2}-{2}-{2}-{2}-{2}-{2}", 3);取mac
$sMAC = $regTemp
IniWrite("2.ini", "scan", $sName, $sIP & "|" & $sMAC);写入Ini
Next
本帖最后由 zhenglei 于 2011-1-11 12:19 编辑
很牛X。。我就是不会用正规表达式。。郁闷死。。。。
老大的表达式很简短也很方便。。 但有一个弊端。。。
比如1。TXT中包含以下2条计算机名则老大的代码就无法正确提取了。。。郁闷啊。。。。 有没办法将您的代码在修改以下。。。。。????
192.168.10.231 MUSIC <unknown> 00-18-f3-fe-c2-c6
192.168.10.252 NET-DISK <unknown> 00-1c-c0-93-8c-a1 囧 用正则的意图就是让你可以调整啊 我知道不可能所有的机器都叫 YJxxx的嘛
$regTemp = StringRegExp($sLine, "(YJ\d+)|MUSIC|NET-DISK", 3) 我已经搞定。。谢谢老大。。 正规表达式很叼。。 还缺乏联系。。嘿嘿。。。
页:
[1]