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
Kommentar vom Moderator Biber am 04.06.2009 um 20:42:59 Uhr
Beitrag wurde zwar am 4.Juni 2009 von User Moverik wiederbelebt, aber dieser hat (richtigerweise) einen neuen Beitrag dafür eröffnet.
Diesen hier "ungelöst" geschlossen.

2 Txt-Dateien vergleichen

Mitglied: favor

favor (Level 1) - Jetzt verbinden

22.12.2005, aktualisiert 04.06.2009, 23251 Aufrufe, 11 Kommentare

Hallo
Bin noch ein Anfänger mit Batch!
Darum bräuchte ich eure Hilfe.

Also ich will 2 Txt-Dateien vergleichen. Es sollte immer pro Zeile überprüft werden. Wenn etwas übereinstimmt soll es in eine 3 Txt-Datei geschrieben werden.

Ich hoffe ihr könnt mir helfen.


gruss
Mitglied: Biber
23.12.2005 um 00:58 Uhr
Moin favor,

Verständnisprobleme und deshalb Rückfragen.
Also ich will 2 Txt-Dateien vergleichen.
Okay...
Es sollte immer pro Zeile überprüft werden.
Versteh ich auch noch, glaube ich.
>>Wenn etwas übereinstimmt soll es in eine 3 Txt-Datei geschrieben werden.
Öhm... das versteh ich nicht. Du willst nicht die Unterschiede, sondern die Gemeinsamkeit??
Na ja, wenn es für einen guten Zweck ist...
Aber dann würde ich gern die Rahmenbedingungen wissen.

- Wenn DateiA 270000 Zeilen enthielte und DateiB 3 Mio Zeilen und nur 2 Zeilen sind in beiden Dateien gleich, dann
a) könnte es einen Moment dauern
b) könnte es den einen oder anderen Batch zerreißen.
Also, von welchen zu erwartenden Größenordnungen reden wir hier
- bei ~Zeilen je Datei
- und Grad der Unterschiedlichkeit (eher 99% gleiche Zeilen als Resultat oder eher 1% Übereinstimmung)?
Denn den Algorithmus würde ich ja schon davon abhängig machen.

Ich hoffe ihr könnt mir helfen.
Da bin ich trotz allem optimistisch.

gruss
gruss zurück
Bitte warten ..
Mitglied: favor
24.12.2005 um 09:05 Uhr
Also

Ene Text-Datei hat so ungefähr <250 Zeilen.

Die Zeilen die übereinstimmen ist etwa bei 1%.

gruss
Bitte warten ..
Mitglied: Biber
24.12.2005 um 11:38 Uhr
Okay, dann ist es machbar...

Ich habe mal zum Testen folgendes gemacht: Die Inhaltsangaben von zwei Verzeichnissen in je eine Textdatei geschrieben und anschliessend verglichen.
Angezeigt wird also, welche Dateien im ersten und zweiten Verzeichnis gleich sind.

[Vorarbeit am CMD-Prompt; befinde mich im Verzeichnis Z:\]
$cmd$ dir d:\temp\*.* >dtemp.txt
$cmd$ dir z:\*.* >z.txt

.... dann ist ja eigentlich nur eine Eingabezeile am CMD-Prompt;
$cmd$ For /F "delims=" %i in (dtemp.txt) do @((find "%i" z.txt >nul) && @echo %i
[Output:]
17.08.2005 04:45 975 CopyAllto.bat
21.07.2005 12:31 244.729 ReadVistaAdminPw.exe
10.12.2005 01:14 1.233 allfiles.txt
10.12.2005 01:14 602 allbats.txt

Falls Du lieber dafür eine Batchdatei haben möchtest:
01.
:: ---snipp SameLines.bat -------------- 
02.
@echo off & setlocal 
03.
if [%1]==[] (echo Syntax %0 datei1 datei2 [outdatei]) & goto :eof 
04.
if [%2]==[] (echo Syntax %0 datei1 datei2 [outdatei]) & goto :eof 
05.
If [%3]==[] (set "outfile=CON") else set "outfile=%3" 
06.
For /F "delims=" %%i in (%1) do ( 
07.
  (find "%%i" %2 >nul) && echo %%i>>%outfile% ) 
08.
:: ---snapp SameLines.bat ----------------
Syntax (1): -----------> selbes Ergebnis wie oben; Output auf Bildschirm
$cmd$d:SameLines.bat dtemp.txt z.txt

Syntax (2): -----> selbes Ergebnis wie oben; Output in Datei "Matching.txt"
$cmd$d:SameLines.bat dtemp.txt z.txt Matching.txt

Gruss
Bitte warten ..
Mitglied: Biber
29.12.2005 um 02:31 Uhr
Komisch, favor,
bei mir läuft dieser Batch.
Was genau funktioniert denn bei Dir nicht?

Grüße
Biber
Bitte warten ..
Mitglied: 6741
13.02.2007 um 19:13 Uhr
hi ...

ich klinke mir mal ein ...

wie vergleiche ich den Inhalt zweier TXT Datein und wenn er Unterschiedlich ist soll eine Email schrieben werden ...

vielen DANK
Bitte warten ..
Mitglied: Biber
13.02.2007 um 19:39 Uhr
Moin fwd,

das sollte noch umkompzierter sein:
-das senden einer Mail von der Konsole aus mit Blat.exe ist mehrfach hier im Forum beschreiben

und der Rest reduziert sich auf ein...
fc datei1.xyz datei2.xyz >nul && blat [blat-Parameter]

Siehe "help fc" oder "fc /?"

Gruss
Biber
Bitte warten ..
Mitglied: 6741
13.02.2007 um 20:03 Uhr
shit ist das einfach ...

kann man auch den Unterschied in eine txt Datei piepen .... ?
Bitte warten ..
Mitglied: 6741
13.02.2007 um 20:47 Uhr
dat geht nicht ...

ich habe ein dir.txt erstellt, kopiert und umbenannt.

Dann eine Zeile hinzugefügt und verglichen zwischen neu und alt. Dachte er gibt mir dir geänderte bzw neue Zeile aus. Dabei bekomme ich:
*
Vergleichen der Dateien ftp_neu.txt und FTP_ALT.TXT
* ftp_neu.txt
10.01.2007 16:36 <DIR> Ape Escape Racer
01.10.2007 TEST TEST
09.01.2007 20:14 <DIR> Blocks Club
* FTP_ALT.TXT
10.01.2007 16:36 <DIR> Ape Escape Racer
09.01.2007 20:14 <DIR> Blocks Club
*

* ftp_neu.txt
14 Datei(en) 122.665.226 Bytes
77 Verzeichnis(se), 38.746.632.192 Bytes frei
* FTP_ALT.TXT
14 Datei(en) 122.665.226 Bytes
77 Verzeichnis(se), 38.747.418.624 Bytes frei

***

möchte aber nur den Unterschied bekommt ...

selbstredent, ich habe dahinter ein

dif.txt

das ist der Ausschnitt ...

TEST TEST ist von mir geändert worden und sollte erkannt werden.

gruß
Bitte warten ..
Mitglied: Biber
13.02.2007 um 22:42 Uhr
Na gut, fwd,

eigentlich erfinde ich ja nicht so gerne Räder zum 857ten Mal... da sollten doch schon fertige Tools von begnadeteren Codern rumgeistern...
So neu kann doch das Problem "Unterschiedliche Zeilen in Textdateien anzeigen" nun nicht sein.

Aber spasshalber, wenn es noch gar nix gäbe, wenn wir hier auf dem Acker anfangen müssten, was wäre denn Dein Plan zur Darstellung?

Wenn wie auf die sinnvollere "dir /b /s"-Darstellung zurückgehen, damit wir nur die eigentlichen Änderungen sehen und nicht die Folge-Änderungen (Freierplatz und Gesamtbyte etc.),
bleiben dennoch mindestens 4 Fälle, wenn es z.B. um die Directory-Inhalte früher/jetzt auf irgendeinem Laufwerk geht:
a) In der Liste VORHER.txt gibt es eine Zeile, die es in Liste JETZT.txt nicht (mehr) gibt.
[Datei ist JETZT nicht mehr da]
b) In der Liste JETZT.txt gibt es eine Zeile, die es in Liste VORHER.txt (noch) nicht gibt.
[Datei gab es VORHER noch nicht]
c) Eine Zeile (i.e. Pfad\Dateiname) existiert schon in beiden, aber mit geänderter Größe/Uhrzeit
d) Es sind so unterschiedliche VORHER/JETZT-Listen, dass es kaum/keine "gleiche" Zeilen gibt und eine Visualisierung der Unterschiede Dönekens wäre.

Anyhow, firewalldevil, wenn wir gemeinsam darüber meditieren wollen, dann spiel ich Dir den ersten Ball zu:

Wie sollen die ersten drei Fälle konkret als Unterschiede visualisiert werden in der Bildschirm/Dateiausgabe??

In Ruhe Tee trinkend
Biber

[ Lässt sich abfangen]
Bitte warten ..
Mitglied: 6741
14.02.2007 um 11:29 Uhr
okay let´s play ... ;>)))

1. Fall:

Systemstart, nichts wurde geändert. Batch überprüft aber. Ausgabe dir_neu.txt ist gegenüber der Ausgabe dir_alt.txt ( weil txt umbenannt wurde, nach Prüfung von neu nach alt somit kann ein erneuter Test erfoglen ) völlig gleich, also darf nicht passieren. Kein Mail, alles okay.

2. Fall

System läuft und eine Datei wurde geändert bzw ein Verzeichniss hinzugefügt. Sobald die Batch läuft, ob beim Start oder einfach nur so, muss erkannt werden, das es eine Änderung gegeben hat. Dir_neu.txt hat jetzt einen Ordner mehr und soll den in die dif.txt Ausgegeben. Die dif.txt versende ich dann mit sendemail.

Das klappt auch, aber ich sehen mehr als ich möchte ...

Evtl sollte mann alles ausser die DIR Verzeichnisse ausfiltern und dann vergleichen. Denn ich möchte nur das geänderte haben nur nicht andere informationen.

so long ..

fwd

EDIT: nach erneuten TESTs

mein Filter sieht jetzt so aus:

dir /s c:\Daten\ > C:\dir\dir.txt

find /i "DIR" dir.txt >dir1.txt

find /v /i "<DIR> ." dir1.txt >dir2.txt

type dir2.txt|find /v /i "----------">dir5.txt


dann habe ich nur die Dir Verzeichnisse ...

die dir.txt steht für die dif.txt Datei, als test ... halt
Bitte warten ..
Mitglied: Moverik
04.06.2009 um 13:08 Uhr
Hallo,

Ich grabe diesen alten Thread mal wieder aus, da er gut zu meinem Problem passt.

Ich will auch zwei Dateien miteinander vergleichen und die Unterschiede dann weiterverarbeiten.

Ich habe zwei DIR Listen die verglichen werden. Nach dem Vergleich wird eine neue TXT Datei erzeugt in welche die die neuen Ordner mit Pfaden drin stehen. Wenn ich das mit dem FC Befehl mache steht in der neuen Datei aber noch viel andere Kram, und ich weiß nicht wie ich nur die neuen Dateipfade aus der TXT gepflückt bekomme um sie in eine Variable zu schreiben.
Kann mir da einer helfen?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben

gelöst Frage von sid.pdmBatch & Shell6 Kommentare

Hallo Zusammen, ich habe in einem älteren Eintrag schon einen guten Ansatz zur Lösung meines Problems gefunden, allerdings funktioniert ...

Python

2 txt-Dateien vergleichen und gleiche Zeilen in der Datei 1 durch die Zeilen aus der Datei 2 ersetzen

gelöst Frage von takitanoPython2 Kommentare

Hallo, ich habe folgendes Problem: Es existieren zwei Text-Dateien, die so aussehen: 1) (insgesamt 102.600.000 Zeilen) 2) (insgesamt 50.000.000 ...

Batch & Shell

Powershell vergleich von .txt

gelöst Frage von HanutaBatch & Shell4 Kommentare

Hallo Zusammen, Ich möchte eine Liste txt.A mit txt.B vergleichen. Liste A sieht folgendermaßen aus: "Rechnername" Liste B: "MAC" ...

Batch & Shell

Dateien vergleichen

gelöst Frage von SpacewarpBatch & Shell4 Kommentare

Hallo, vorweg ich bin neu hier. Meine Problem ist das ich zwei TXT Dateien habe. Bsp.: -Datei1.txt- User Programm ...

Neue Wissensbeiträge
Apple

Apple aktualisiert MacBook Pro, mit bis zu sechs Kernen

Information von Vision2015 vor 2 TagenApple

Jawohlchen das Warten hat sich gelohnt :-) Apple aktualisiert MacBook Pro Frank

Verschlüsselung & Zertifikate

In-place Upgrade verschlüsselter Windows-Systeme mittels reflectdrivers

Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate1 Kommentar

Hinter diesem sperrigen Titel verbirgt sich die Info, dass offenbar seit Win10 v1607 im Windows-Setup (setup.exe der CD/des USB-Sticks) ...

Instant Messaging
Ejabberd auf ubuntu
Anleitung von horstvogel vor 3 TagenInstant Messaging

Anliegend erstelle ich eine Anleitung für die Installation eines ejabberd auf einem Ubuntu Server. Die Anleitung ist derzeit noch ...

Windows Server

Fehler in MMC "Zertifizierungsstelle" - Hieroglyphen

Tipp von emeriks vor 4 TagenWindows Server2 Kommentare

Hi, nichts weltbewegendes, nur als Info für Euch. Bin eben drüber gestolpert: Setup 1x Windows Server 2016 Datacenter Core ...

Heiß diskutierte Inhalte
Hardware
Alte Hardware verkaufen
Frage von Lebowski23Hardware19 Kommentare

Hallo, durch größere Umbauten haben einiges an Hardware "rumliegen", die wir vielleicht noch verkaufen wollen. Es sind so ca. ...

Exchange Server
Exchange 2013 - Update schlägt fehlt
Frage von chb1982Exchange Server18 Kommentare

Hallo zusammen, kann sich jemand einen Reim auf die unten stehenden Fehlermeldung machen? Sie tritt auf beim Update von ...

Windows Server
Active Directory Probleme DC sieht sich nicht selbst als DC DNS Fehler?
Frage von Cisco7971Windows Server12 Kommentare

Moin zusammen, Angefangen hat die Suche damit, dass der Anmeldedienst immer angehalten wird, bei einem Neustart des DC. nach ...

Windows Server
Der dhcp dienst konnte keinen verzeichnisserver finden
Frage von gardenzwergWindows Server9 Kommentare

Hallo zusammen Nach der Virtualiserung ins VSphere unseres Servers, vergibt er kein DHCP mehr und gibt schöne Meldungen aus: ...