Hallo Zusammen
Bin auf der suche nach einer Anwendung die nach den definierten MAC-Adressen in
einem ini file ausschau halten würde (min. 20 Mac Adressen). Wenn diese eine
Adresse mit dem im ini file übereinstimmen würde so fährt die Anwenung weiter,
ansonst würde sich diese Anwednug schliessen. Zur Information das INI file wird
im vorhinein schon mal benützt von einer anderen Array Abfrage es sollte somit
so bestehen bleiben.
Habe hier auf AutoIt einen Code gefunden der meiner Idee sehr nahe kommt dennoch
aber bei mir nicht funktioniert, es erscheint immer die Meldung
"Ihre MAc Adresse wurde nicht gefunden".
Ich währe wirklich froh um hilfe, und möchte mich schon im vorhinein bedanken.
MC
Spoiler anzeigen
#include <array.au3>
#include <file.au3>
$filename = "C:\ipconfig.txt"
$source_filename = "C:\laptop.ini"
Global $found = ""
; Macs auslesen
RunWait(@ComSpec & " /c ipconfig /all > " & $filename, "", @SW_HIDE)
Dim $array
_FileReadToArray($filename, $array)
$text = _ArrayToString($array, ";")
$macs = StringRegExp($text, ":\s((?:\A\A-){5}\A\A);", 3)
_ArrayDisplay($macs, "Macs")
; Macs vergleichen
Dim $filearray
_FileReadToArray($source_filename, $filearray)
;~ _ArrayDisplay($filearray, "filearray")
For $i = 1 To UBound($filearray)-1
$filearray_splitted = StringSplit($filearray[$i], ":")
For $j = 0 To UBound($macs)-1
If $filearray_splitted[3] = $macs[$j] Then
$found = $macs[$j]
ExitLoop
EndIf
Next
Next
; Ausgabe
If $found <> "" Then
MsgBox(0, "MAC-Adresse gefunden", "Ihre MAC-Adresse wurde gefunden ("&$found&")")
Else
MsgBox(0, "MAC-Adresse nicht gefunden", "Ihre MAC-Adresse wurde nicht gefunden.")
EndIf
; temporäre Datei löschen
FileDelete($filename)
und mein Laptop.ini sieht so aus
Spoiler anzeigen
[section]
1=IBM_Z60
1=IBM_Z70
2=IBM_Z80
usw
[mac]
1=00-13-E8-ED-66-AD
2=00-1E-37-16-DD-49
3=00-1C-26-D5-D0-3C
usw