Hi, wenn ich z.b. eine bootp datei habe und in dieser Datei soll wirklich nur ein Eintrag einmal vorhanden sein, also ein Wert darf nicht doppelt in dieser Datei gepflegt sein, wie kann ich dies überprüfen? Mit welcher Programmiersprache oder Windowsbatch kann ich so etwas realisieren? Wer kann mir Tipps geben? Vielen Dank schon mal.
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Hallo!
Ich finde hier kein Beispiel für eine Bootp-Datei.
Kannst Du nicht mal eine posten, oder einen kleinen Ausschnitt?
Ist ein Eintrag= eine Zeile?
Zur Lösung schlage ich die Sprache Python vor.
Gruss
ChrE
Oder du verwendet awk
http://de.wikibooks.org/wiki/Awk
http://de.wikipedia.org/wiki/Awk
awk für Windows:
http://de.wikibooks.org/wiki/Awk:_Literatur_und_Weblinks
schau mal ob es da schon dabei ist> http://www.microsoft.com/technet/scriptcenter/default.mspx
O.k. zu erst einmal es sollte eine Zeile ausgelesen bzw. verglichen werden.
Einen Ausschnitt habe ich leider keinen, aber in einer Zeile steht die MAC und die IP-Adresse und diese beiden
Werte dürfen nur einmal in dieser Darei stehen.
Habe die anderen LINKs besucht, aber ich komme da nicht zurecht. Etwas Grundkenntnisse habe ich, aber seit ca.
8 Jahren nichts mehr programmiert. D.h. ich habe momentan "den Faden" verloren.
Habe Früher mit der Windows Batch und mit Rexx (OS2) öffter mal was nützliches erstellt. Gibt es für das Windows XP
Batch oder wie es auch immer heissen mag, Literatur????
Hallo
Batch Scripts:
- http://www.antonis.de/dos/batchtut/
Windows Scripting:
- http://msdn.microsoft.com/en-us/library/d1et7k7c%28VS.85%29.aspx
- http://www.microsoft.com/germany/technet/datenbank/articles/600359.mspx#E02Y0AA
Das Microsoft Windows 2000 - Scripting-Handbuch kannst du auch unter XP verwenden.
Programmiergrundlagen:
- http://www.onlinetutorials.de/
Gruss
d-oli
Hallo!
Vielleicht geht das:
--- schnipp
import sys # fuer die Kommandozeilenparameter
import md5 # Pruefsummenbibliothek
lines = open(sys.argv[1], "r").readlines() # alle Zeilen einlesen
hashdict={} # hier speichern wir die Hashcodes
hash=md5.new(lines[0]) # Hashcode der ersten Zeile
hashdict[hash.digest()]="" # den Hashwert der ersten Zeile abspeichern
dellist=[] # die Liste der zu loeschenden Zeilen
for i in range(1,len(lines)): # Schleife: Zeile 2 - Ende
-> hash=md5.new(lines[i]) # Hashwert der aktuellen Zeile ausrechnen
-> if hashdict.has_key(hash.digest()): # aktueller Hash schon vorhanden?
--> dellist.append(i) # diese Zeile bitte loeschen
-> else:
--> hashdict[hash.digest()]="" # unique Zeilen ins Dictionary
dellist.reverse() # damit die Indexe nicht verrutschen
for duplicate in dellist:
-> del lines[duplicate] # loesche alle mehrfachen Zeilen
f = open(sys.argv[2], "w") # die Ausgabedatei oeffnen
f.writelines(lines) # schreibe alle uebriggebliebenen Zeilen
f.close() # das wars
--- schnapp
Übernehme keine Garantie für die Richtigkeit.
-> = ein Tab
--> = zwei Tabs (bei Python ist die Formatierung wichtig)
Gruss
ChrE