marcoti
Goto Top

Hashprüfung per Batch für Backup

Hallo,

ich habe folgendes Problem:

Ich nutze zur Zeit ein Batchfile zur Datensicherung, welches Dateien und Ordner aus einer Textdatei (z.B.: liste.txt) nutzt und diese dann per WinRAR (rar.exe) packt, "verschlüsselt" und per net use / xcopy auf einen anderen Server im Netzwerk sichert. Dies erfolgt bisher indem einfach alle Dateien aus der Liste gesichert werden und die jeweils "zu alten" Sicherungen nach einer gewissen Zeit wieder gelöscht werden.

Die "liste.txt" ist wie folgt aufgebaut:

> Beginn liste.txt

LW:\Ordner
LW:\Ordner\Datei.txt
LW:\Ordner\Ordner\Datei.txt

> Ende liste.txt

Nun würde ich gern das Batchfile um die folgende Möglichkeit ergänzen:
Die Dateien aus der Liste sollen mit einer zweiten Liste (vergleich.txt) verglichen werden, in welcher die jeweiligen Dateien ein Hash abgespeichert ist (evtl. ist die Prüfung auch einfach mit dem Dateidatum möglich?). Einen Dateivergleich per "fc" möchte ich somit vermeiden.
Sollten sich der gespeicherte Hash und der neu errechnete unterscheiden oder die Datei noch nicht gelistet sein, so möchte ich diese zur Sicherung an WinRAR übergeben.

Vllt. könnte man die "vergleich.txt" ja ähnlich wie bei "FCIV.exe" (Microsoft File Checksum Integrity Verifier) aufbauen:

> Beginn vergleich.txt

HASH LW:\Ordner\Ordner\Datei.txt
HASH LW:\Ordner\Datei.txt

> Ende vergleich.txt

Da ich nun mittlerweile seit knapp 4 Tagen nach einem passenden Hash-Tool bzw. einer anderen Möglichkeit suche, wie man dies umsetzen kann bin ich kurz vor dem Verzweifeln.
Und da ich im Batchskripting nicht sonderlich versiert bin hoffe ich nun, dass mir einer der professionelleren User hier evtl. weiterhelfen kann.

Gruß,

Marco

P.S.: Versucht habe ich mich bisher unter Zuhilfenahme der Suche dieses Forums und der Tools: "md5.exe", FSUM, md5sums und MS FCIV. Server sind MS Windows Server 2003 R2 Standard sowie Small Business Server 2003.

Content-Key: 162351

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

Printed on: April 26, 2024 at 17:04 o'clock

Member: bastla
bastla Mar 10, 2011 at 11:21:20 (UTC)
Goto Top
Hallo MarcoTi und willkommen imForum!

Du kannst doch zB mit
for /f %%i in ('fciv Dateiname') do set "Hash=%%i"
den Hashwert der jeweiligen Datei auslesen und in einer Variablen speichern ...

Alternative: Gleich die ganze Zeile (mit der Du dann einen "findstr /x"-Vergleich machen könntest) ermitteln:
for /f "delims=" %%i in ('fciv Dateiname') do set "HashZeile=%%i"
Grüße
bastla