crashoversteel

Inhalt 2er Dateien vergleichen

Hallo,
ich möchte zwei Textdateien vergleichen und die Unterschiede dann in eine dritte schreiben.
So sieht mein Programm aus aber es funktioniert net.

@echo off

echo Bitte geben sie den Pfad ein:

SET /p pfad=

for /f "delims=" %%i IN (%pfad%) do (

(find "%%i" "c:\datei2.txt" >nul)

)

if errorlevel ==1 %%i >>"c:\change.txt"
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 29401

Url: https://administrator.de/forum/inhalt-2er-dateien-vergleichen-29401.html

Ausgedruckt am: 14.05.2025 um 23:05 Uhr

cykes
cykes 31.03.2006 um 10:17:20 Uhr
Goto Top
Hi,

das kannst Du Dir erheblich leichter machen, gib mal auf der Kommandozeile
"comp /?" ein face-wink

mit "comp datei1 datei2 /a >unterschied.txt" sollte das erledigt sein...

Gruß

cykes
CrashOversteel
CrashOversteel 31.03.2006 um 10:48:44 Uhr
Goto Top
Funktioniert, aber er zeigt nur z.B OFFSET 49 und den den Buchstaben bzw. die Zahl die verändert wurde, lieber wäre mir das er dann die komplette IP-Adresse ausgibt. Bei Gemeinsamkeiten hatte das schon funktioniert, aber Unterschiede noch net.
cykes
cykes 31.03.2006 um 10:58:11 Uhr
Goto Top
Willst Du die beiden Dateien zeilenweise oder komplett vergleichen?
CrashOversteel
CrashOversteel 31.03.2006 um 11:00:54 Uhr
Goto Top
Zeilenweise, er liest ja aus der ersten Datei, eine Adresse ein und speichert sie in einer Variable. Dann soll die Variable mit der gleichen Zeile aus der andren Datei verglichen werden
Biber
Biber 31.03.2006 um 17:49:11 Uhr
Goto Top
Moin CrashOversteel,

ich seh noch nicht ganz klar - sind in den Dateien nur je eine IP pro Zeile oder auch mehrere Token pro Zeile oder sind das *.ini-Dateien?
Kannst Du nich mal bitte eine Handvoll Zeilen posten (zumindest das Layout)?
Danke
Biber
CrashOversteel
CrashOversteel 06.04.2006 um 12:09:33 Uhr
Goto Top
z.B. 111.222.333.444 | 111.222.333.444
192.168.0.2 | 192.168.0.2
192.138.112.36 | 192.138.112.37 hier soll er dann einen Fehler rausfinden
xxx.xxx.xxx.xxx | xxx.xxx.xxx.xxx usw.
Biber
Biber 06.04.2006 um 17:33:16 Uhr
Goto Top
Hm,
wenn ich das hier abbilde:
Zeilenweise, er liest ja aus der ersten Datei, eine Adresse ein und speichert sie in einer Variable.
Dann soll die Variable mit der gleichen Zeile aus der andren Datei verglichen werden
...und dieses Szenario habe...
---- Inhalt Ipliste1.txt
111.222.333.444
192.168.0.2
192.138.112.36

---- Inhalt Ipliste1.txt
111.222.333.444
192.168.0.2
192.138.112.37
...und diesen Schnipsel laufen lasse:
::------snipp CompLines.bat
@echo off & setlocal enabledelayedexpansion
Set /a counter=0 && REM Alle Zeilen in %11 "merken in "%Line1%"..."%Line999%"  
For /F %%i in (%1) do (Set /a Counter=!counter!+1) & Set Line!counter!=%%i
:: Jetzt Zeile für Zeile vergleichen
Set /a counter=0 && For /F %%i in (%2) do call :comp %1 %2 %%i
goto :eof
:comp
Set /A counter+=1 && Set oldLine=!line%counter%!
IF [%oldline%] NEQ [%3] echo %1: [%oldLine%]  --- %2: [%3] in Zeile !counter!
goto :eof
::------snapp CompLines.bat
..dann kommt sowas raus:
$cmd$ CompLines.bat ipliste1.txt ipliste2.txt
ipliste1.txt: [192.138.112.36]  --- ipliste2.txt: [192.138.112.37] in Zeile 3

Meinst Du so in dieser Richtung?
Gruß Biber