Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

Dateien Vergleichen und nur unterschiede in eine 3 Datei





Frage

Hallo, wie kann man mit Dos-mitteln 2 Dateien vergleichen und nur die Unterschiede in eine dritte Datei schreiben. Also: 1.Datei a b c 2.Datei a c e f Ergebnis 3.Datei e f (ohne b) ich bedanke mich für jeden Hinweis

Antwort 1 von manei

Hallo,

einen Vergleich von 2 Dateien kannst Du mit fc Datei1 Datei2 durchführen; fc /? an der Eingabeaufforderung zeigt Dir Einzelheiten.

Aber so wie ich das sehe, willst du nicht 2 Dateien vergleichen, sondern nur das herausfiltern, was in Datei2 steht aber nicht in Datei1. Dazu ist fc nicht geeignet.

Dazu mußt du Datei2 zeilenweise abarbeiten und jede Zeile dieser Datei in eine Variable setzen und mit Datei1 überprüfen, ob diese Zeile enthalten ist.

Um Datei2 zeilenweise abzuarbeiten benötigst Du einen Zähler. Das überprüfen kannst du dann z.B. mit type datei1| find "Zeile aus datei2">nul
if errorlevel 1 "Zeile aus Datei2">Datei3 durchführen.

Das ist jetzt nur ein grober Überblick da das Handling je nach System (WinNT/XP/W2K oder Win95/98/ME) unterschiedlich ist.

WinNT/XP/W2K bringt dazu alles notwendige mit, bei den Win9X Systemen läßt sich dies am einfachsten mit 2 Freewaretools (varset und lmod von http://home.mnet-online.de/horst.muc) erledigen.

MfG maneich




Antwort 2 von harm01

Danke,
das war die Lösung,
manchmal hat man ein Brett vorm Kopf
zur Info

Batch1:
for /F %%i IN (`type datei2.txt`) DO call bat2.bat %%i

Batch2:
set hilf=%1
type datei1.txt | find "%hilf%" >nul
if errorlevel 1 echo %go% >> datei3.txt


Gruss

Antwort 3 von manei

Hallo,

gern geschehen, aber mit dem for-Befehl in Batch1, arbeitet er damit alle Zeilen in der datei2 ab, benötigst Du da keinen Zähler?

Ich kenne mich mit WinNT-Systemen nicht so gut aus.

Würde mich aber interessieren

MfG maneich

Antwort 4 von harm01

Jede Zeile aus Datei2 wird mit dem Type Befehl nach %i gebracht und für jede Zeile wird Batch2 aufgerufen
Gruss

Antwort 5 von manei

Hallo,

OK und danke

MfG maneich

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: