keksprinz
Goto Top

Batch - Inhalt einer Datei mit vielen Dateien vergleichen

Hallo,

ich hab ein dringliches Probelm. Ich muss per Batch eine Datei die 0 der 1 im Ordner 1 heisst
mit meheren dateien die unterschiedliche Dateinamen tragen "aaa", "bbb", "ccc" im Ordner 2
vergleichen. Leider finde ich keinen Lösungsansatz.

Hoffe jemand kann mir helfen.

Gruß


[Edit Biber] Tippfehler im Titel korrigiert. [/Edit]

Content-Key: 77402

Url: https://administrator.de/contentid/77402

Printed on: April 24, 2024 at 13:04 o'clock

Member: Biber
Biber Jan 07, 2008 at 11:58:28 (UTC)
Goto Top
Moin keksprinz,

was erwartest Du denn als Ergebnis?
Sind voraussichtlich ein oder mehrere Dateien mit der "0"- oder "1"-Datei identisch?
Suchst Du identische oder willst Du alle Unterschiede?
Wie soll das Programm erfahren, mit welchen "aaa"s oder "bbb"s verglichen werden soll?

Grüße
Biber
Member: bastla
bastla Jan 07, 2008 at 12:09:33 (UTC)
Goto Top
Hallo keksprinz!

Gerade bei dringlichen Problemen wäre eine exakte Beschreibung sinnvoll ...

Unter der Annahme, dass die Vergleichsdatei "0 der 1" (ohne Typ) in "Ordner 1" heißt und diese mit allen Dateien des "Ordner 2" verglichen werden soll, könntest Du an der Befehlszeile eingeben:
@for %i in ("Ordner2\*.*") do @fc /b "Ordner 1\0 der 1" "%~fi">nul || @echo Ungleich: %i  
Sollte Dich interessieren, welche Dateien gleich sind, dann:
@for %i in ("Ordner2\*.*") do @fc /b "Ordner 1\0 der 1" "%~fi">nul && @echo Gleich: %i  
Falls Du eine Liste der zu vergleichenden Dateien (nur Dateinamen) hast:
@for /f "delims=" %i in (Liste.txt) do @fc /b "Ordner 1\0 der 1" "Ordner 2\%i">nul || @echo Ungleich: %i  
Mehr raten mag ich nicht ...

Grüße
bastla

[Edit] Überzählige %-Zeichen nach "@echo ..." entfernt. [/Edit]
Member: keksprinz
keksprinz Jan 07, 2008 at 12:47:03 (UTC)
Goto Top
Hallo,

super, danke für die Antwort. Leider stimmt irgendwas nicht ...

Ich wollte folgende zeile von bastla anwenden

@for %i in ("Ordner2\*.*") do @FC /b "Ordner 1\0 der 1" "%~fi">nul && @echo Gleich: %%i


Ich bekomme die Ausgabe:

C:\test>test.bat
"~fi">nul && @echo Gleich: %i" ist syntaktisch an dieser Stelle nicht verarbeitb
ar.

C:\test>@for ~fi">nul && @echo Gleich: %i

Finde den Fehler aber nicht ....

Irgendwelche Ideen ?
Member: bastla
bastla Jan 07, 2008 at 12:49:37 (UTC)
Goto Top
Hallo keksprinz!

Wenn Du die Zeile in einer Batch-Datei verwenden willst, musst Du alle %-Zeichen verdoppeln, also:
@for %%i in ("Ordner2\*.*") do @fc /b "Ordner 1\0 der 1" "%%~fi">nul && @echo Gleich: %%i  
Nach dem "@echo ..." hatte ich sie irrtümlich oben schon doppelt geschrieben ...

Grüße
bastla
Member: keksprinz
keksprinz Jan 07, 2008 at 13:24:05 (UTC)
Goto Top
Hat geklappt ! bastla hiermit verleih ich dir dern Orden "Admin des Tages" face-smile

Vielen Dank