Batch vergleich Dateien if else
Hallo Zusammen,
suche eine einfache Lösung um zwei Dateien miteinander zu vergleichen. Hintergrund ist der, dass ich eine Update Batch geschrieben habe, die täglich bzw. Nachts ausgeführt wird. Diese läuft auch super, jedoch sollen nicht täglich die Update Daten auscdem Update Verzeichnis neu gezogen werden. Daher möchte ich der Update Bach voran folgendes einfügen:
If
Prüfe ob update.exe in Verzeichnis A neuer ist als die update.exe in Verzeichnis B ( Erstellungsdatum)
Wenn ja update.bat starten
Else
Exit
Jemand eine einfache Lösung Danke...
suche eine einfache Lösung um zwei Dateien miteinander zu vergleichen. Hintergrund ist der, dass ich eine Update Batch geschrieben habe, die täglich bzw. Nachts ausgeführt wird. Diese läuft auch super, jedoch sollen nicht täglich die Update Daten auscdem Update Verzeichnis neu gezogen werden. Daher möchte ich der Update Bach voran folgendes einfügen:
If
Prüfe ob update.exe in Verzeichnis A neuer ist als die update.exe in Verzeichnis B ( Erstellungsdatum)
Wenn ja update.bat starten
Else
Exit
Jemand eine einfache Lösung Danke...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301386
Url: https://administrator.de/forum/batch-vergleich-dateien-if-else-301386.html
Ausgedruckt am: 20.04.2025 um 17:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
wenn es auch Powershell sein darf, hier zwei Ansätze:
Variablen oder Dateien nach Inhalt Vergleichen Powershell
Dateiversionen mit Skript vergleichen und wenn Datei neuer ist, installieren
Gruß,
Dani
wenn es auch Powershell sein darf, hier zwei Ansätze:
Variablen oder Dateien nach Inhalt Vergleichen Powershell
Dateiversionen mit Skript vergleichen und wenn Datei neuer ist, installieren
Gruß,
Dani
Moin zeroblue2005,
wenn es aus nostalgischen Gründen ein CMD-Batch sein soll, dann
- ermittle das Datum der Dateien und speichere es im Format JJJJMMDD mit Set /a.
- Dann kannst du mit
Beispiel für so einen JJJJMMDD-Wert, hier am CMD_Prompt:
In einem Batch
- jeweils zwei Prozentzeichen statt einem und
- statt "@echo %c%b%a" ein
Grüße
Biber
wenn es aus nostalgischen Gründen ein CMD-Batch sein soll, dann
- ermittle das Datum der Dateien und speichere es im Format JJJJMMDD mit Set /a.
- Dann kannst du mit
IF "%datumA%" LSS "%datumB%"
vergleichen.Beispiel für so einen JJJJMMDD-Wert, hier am CMD_Prompt:
for %f in (x:\DirA\update.exe) do for /f "tokens=1-3 delims=. " %a in ("%~tf") do @echo %c%b%a
In einem Batch
- jeweils zwei Prozentzeichen statt einem und
- statt "@echo %c%b%a" ein
Set/a datumA=%c%b%a
Grüße
Biber