zhenglei 发表于 2011-1-10 21:49:55

已解决!自动替换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 但速度实在是不敢恭维。。。。。 现在用其他的工具扫描了。现在需要提取修改整合一下内容。。请老大们试试 看是否能实现我要的结果。。。。。

sxd 发表于 2011-1-11 00:14:46



#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 11:56:40

本帖最后由 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

sxd 发表于 2011-1-11 13:19:05

囧 用正则的意图就是让你可以调整啊 我知道不可能所有的机器都叫 YJxxx的嘛
$regTemp = StringRegExp($sLine, "(YJ\d+)|MUSIC|NET-DISK", 3)

zhenglei 发表于 2011-1-12 18:29:40

我已经搞定。。谢谢老大。。 正规表达式很叼。。 还缺乏联系。。嘿嘿。。。
页: [1]
查看完整版本: 已解决!自动替换TXT相应的字符并写入新的配置文件中!