Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wert aus TXT exportieren, Werte vergleichen

Mitglied: zensbert

zensbert (Level 1) - Jetzt verbinden

27.10.2011 um 00:06 Uhr, 3303 Aufrufe, 7 Kommentare

Hi,
ich habe 2 TXTs mit MD5-Hashwerten (vorher / nachher), beide mit gleichem aufbau (TAB-getrennt).. sieht ungefähr so aus:

Dateiname [TAB] MD5-Wert [TAB] SHA1Wert [TAB] CRC32 [TAB] Dateiname m. Pfad
Beispiel.exe 75dccaba412938e84a53a3ee23f64cc4 a98bc8260f2fb2ecf6a4ae0d7e9eb44d3e96f4b12ecd4732 98210de D:\Software\Beispiel.exe

nun die Kernfrage, wie kriege ich es hin, dass ich am Ende eine Textdatei ausgeworfen bekomme, die nur die unterschiedlichen Hashwerte mir ausspuckt, bzw. da reicht mir auch schon die Dateinamen in ner TXT.. da die Dateinamen gleich sind, muss man ja wohl den Dateinamen aus der TXT auslesen, den dazugehörigen MD5-Wert mit dem Wert aus der "Nachher-TXT" vergleichen und bei Änderung den Dateinamen m. Pfad ausspucken..

Jemand ne idee wie man sowas vergleichen kann?

Danke im Voraus,
Thomas
Mitglied: bastla
27.10.2011 um 00:30 Uhr
Hallo zensbert!

Müssten nicht alle Hash-Werte (also nicht nur MD5) und damit letztlich die gesamte Zeile gleich sein?

Außerdem: Können die Dateinamen auch Leerzeichen enthalten?

Grüße
bastla
Bitte warten ..
Mitglied: zensbert
27.10.2011 um 00:40 Uhr
Hi Bastla!
Ich tausche dort die Dateien öfters aus, ersetze sie aber mit den gleichen Dateinamen.. dennoch will ich dann automatisiert anderen Admins ne mail zukommen lassen dass ich die Datei Beispiel.exe und Beispiel2.exe ausgetauscht bzw. aktualisiert habe, vll. mach ich da auch noch ne automatische Update-Routine raus.. demnach ist wenn die Zeile dann an nur einer Position variiert von einem Update der Datei auszugehen... und ja; die Dateien können auch Leerzeichen enthalten. Leider kann ich aber auch nicht ausschließen ob dort ggf. mal noch beim nächsten "Update" eine Datei dazukommt und damit die Reihenfolge der TXT durcheinander bringt..

Aber soweit schonmal danke!

Grüße!
Bitte warten ..
Mitglied: bastla
27.10.2011 um 00:50 Uhr
Hallo zensbert!

Im einfachsten Fall (alle Dateien der "Nachher.txt", welche in "Vorher.txt" einen anderen MD5-Wert haben oder nicht enthalten sind) könnte das so gehen:
01.
@echo off & setlocal 
02.
set "Vorher=D:\Vorher.txt" 
03.
set "Nachher=D:\Nachher.txt" 
04.
set "Diff=D:\Differenz.txt" 
05.
set "Delim=	" 
06.
 
07.
del "%Diff%" 2>nul 
08.
for /f "usebackq delims=" %%i in ("%Nachher%") do for /f "tokens=1-5 delims=%Delim%" %%a in ("%%i") do findstr /b /c:"%%a%Delim%%%b" "%Vorher%">nul||>>"%Diff%" echo %%i
Bitte beachten: Als %Delim% wird in Zeile 5 ein TAB zugewiesen ...

Eigentlich hatte ich einen direkten Vergleich der gesamten Zeilen (mit findstr /i /v /g:"%Nachher%" "%Vorher%" ) vorgehabt, was aber an einem "zu langen Suchstring" scheitert ...

Wenn es übrigens genügt, tatsächlich nur die Dateinamen (mit Pfad) auszugeben, ließe sich das noch auf
01.
@echo off & setlocal 
02.
set "Vorher=Vorher.txt" 
03.
set "Nachher=Nachher.txt" 
04.
set "Diff=Differenz.txt" 
05.
set "Delim=	" 
06.
 
07.
del "%Diff%" 2>nul 
08.
for /f "usebackq tokens=1-5 delims=%Delim%" %%a in ("%Nachher%") do findstr /b /c:"%%a%Delim%%%b" "%Vorher%">nul||>>"%Diff%" echo %%e
reduzieren ...

Grüße
bastla
Bitte warten ..
Mitglied: zensbert
27.10.2011 um 01:20 Uhr
ICH LIEBE DICH! Tausend Dank! Damit hasde mir die schlaflose Nacht verkürzt... Wirklich vielen Dank, klappt super!
Grüße,
Thomas
Bitte warten ..
Mitglied: zensbert
02.11.2011 um 09:23 Uhr
Hi, um mein Glück perfekt zu machen wäre es perfekt wenn ich in der Log-Datei in jeder Zeile eine gewisse Anzahl an Zeichen einfach entfernen könnte, sodass da statt
"D:\Software\Skript\Setup\Beispiel.exe" z.B. nur "Setup\Beispiel.exe" steht, ist dass ein Problem dass dann im Pfad eventuell auch Leerzeichen enthalten sind? Geht das dass ich z.B. in jeder Zeile der Log dann die ersten XX Zeichen weglösche?
Tausend Dank im voraus!

Grüße,
Thomas
Bitte warten ..
Mitglied: bastla
02.11.2011 um 15:06 Uhr
Hallo zensbert!
Geht das dass ich z.B. in jeder Zeile der Log dann die ersten XX Zeichen weglösche?
Wäre es, wenn ich Dich richtig verstanden habe, nicht sinnvoller, den Teil des Pfades (also etwa "D:\Software\Skript\") anzugeben, der entfernt werden soll? In diesem Fall (weiterhin ungetestet) etwa so:
01.
@echo off & setlocal 
02.
set "Vorher=Vorher.txt" 
03.
set "Nachher=Nachher.txt" 
04.
set "Diff=Differenz.txt" 
05.
set "Delim=	" 
06.
set "Basispfad=D:\Software\Skript\" 
07.
 
08.
del "%Diff%" 2>nul 
09.
for /f "usebackq tokens=1-5 delims=%Delim%" %%a in ("%Nachher%") do findstr /b /c:"%%a%Delim%%%b" "%Vorher%">nul||(set "Pfad=%%e" & call :ProcessLine) 
10.
goto :eof 
11.
 
12.
:ProcessLine 
13.
setlocal enabledelayedexpansion 
14.
>>"%Diff%" echo !Pfad:%Basispfad%=! 
15.
REM um 19 Zeichen am Anfang wegzulassen alternativ: 
16.
REM >>"%Diff%" echo !Pfad:~19! 
17.
endlocal 
18.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: zensbert
02.11.2011 um 21:12 Uhr
and again, many thanks.. hab dass dann auch sogenutzt, dass direkt der komplette Pfad rausfliegt, den ich nicht drinhaben will..
danke danke danke danke!

Bye, Thomas
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wert in einer TXT Datei suchen
Frage von nolle99Batch & Shell11 Kommentare

Hallo Leute Ich habe ein Problem Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 ...

Batch & Shell

Powershell: Wert aus Registry auslesen und mit vorhandenem Wert vergleichen

gelöst Frage von BrowserlauserBatch & Shell5 Kommentare

Hallo, ich stehe vor folgendem Problem: Ich möchte per Powershell aus der Registry einen bestimmten Wert auslesen. Beispiel: in ...

Microsoft Office

Werte in Spalten vergleichen und einsetzen

gelöst Frage von Inge88Microsoft Office4 Kommentare

Halihalo, ich bin neu hier und versuche eine Lösung zu finden, bzw. kompetente Excel-Kenner: Ich habe mehrere Spalten (A, ...

Batch & Shell

Werte aus CSV in TXT - Powershell

gelöst Frage von Komoran12Batch & Shell20 Kommentare

Hallo Ihr, ich benötige mal wieder Eure Hilfe,kann mir wer mit einem Code aushelfen? Ich habe eine .csv mit ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 14 StundenE-Mail3 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 15 StundenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 19 StundenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 TagServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...