Supportnet / Forum / BS-Sonstige
Dateienvergleich unter DOS nach Datum
Frage
Wie kann ich in einer Batch-Datei zwei Dateien nach Erstellungsdatum vergleichen???
Es soll eine Datei verglichen werden die Virenscannerupdates enthalten. Die Batch-Datei soll nun prüfen ob die lokal vorhandene Datei (z.B. auf C:\Updates)älter ist als diese auf dem Netzlaufwerk. Ist die lokal vorhandene Datei älter soll diese gegen die Datei auf dem Netzlaufwerk ausgetauscht werden.
Kann man eigentlich dabei auch Deteien auf einem FTP-Server mit lokalen Dateien vergleichen? D.h. die Updates werden nicht auf einem Netzlaufwerk abgelegt, sondern in einem FTP-Verzeichnis.
Danke!!!!
Antwort 1 von Limbius
Ich lehne mich da vielleicht (aber nur vielleicht) zu weit aus dem Fenster aber nach dem was ich über DOS weiß ich so etwas mit DOS (jedenfalls das Win DOS) nicht möglich...
Da müsstest du dir schon ein Tool aus dem I-net besorgen
Da müsstest du dir schon ein Tool aus dem I-net besorgen
Antwort 2 von Undertaker
Hi,
Gruß
Undertaker
C:\>xcopy /?
Kopiert Dateien und Verzeichnisstrukturen.
XCOPY Quelle [Ziel] [/A | /M] [/D[:Datum]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:Datei1[+Datei2][+Datei3]...]
Quelle Die zu kopierenden Dateien.
Ziel Position und/oder Name der neuen Dateien.
/A Kopiert nur Dateien mit gesetztem Archivattribut,
ändert das Attribut nicht.
/M Kopiert nur Dateien mit gesetztem Archivattribut,
setzt das Attribut nach dem Kopieren zurück.
/D:M-T-J Kopiert nur die an oder nach dem Datum geänderten Dateien.
Ist kein Datum angegeben, werden nur Dateien kopiert,
die neuer als die bestehenden Zieldateien sind
/EXCLUDE:Datei1[+Datei2][+Datei3]...
Gibt eine Liste von Zeichenfolgen an. Wenn eine der
Zeichenfolgen Teil des absoluten Verzeichnispfads
der zu kopierenden Datei ist, wird diese Datei vom
Kopiervorgang ausgeschlossen. Beispiel: Bei der
Zeichenfolge \obj\ oder .obj werden alle Dateien
unterhalb des Verzeichnisses OBJ bzw. alle Dateien mit
der Erweiterung .obj vom Kopiervorgang ausgeschlossen.
/P Fordert vor dem Erstellen jeder Zieldatei eine Bestätigung.
/S Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind.
/E Kopiert alle Unterverzeichnisse (leer oder nicht leer).
Wie /S /E. Mit dieser Option kann die Option /T modifiziert werden.
/V Überprüft jede neue Datei auf Korrektheit.
/W Fordert vor dem Beginn des Kopierens zu einem Tastendruck auf.
/C Setzt das Kopieren fort, auch wenn Fehler auftreten.
/I Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert
werden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist.
/Q Zeigt beim Kopieren keine Dateinamen an.
/F Zeigt die Namen der Quell- und Zieldateien beim Kopieren an.
/L Listet die Dateien auf, die ggf. kopiert werden.
/H Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System'.
/R Überschreibt schreibgeschützte Dateien.
/T Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien.
Leere oder Unterverzeichnisse werden nicht kopiert. Um auch diese
zu kopieren, müssen Sie die Optionen /T /E angeben.
/U Kopiert nur Dateien, die bereits im Zielverzeichnis vorhanden sind.
/K Kopiert Attribute. Standardmäßig wird 'Schreibgeschützt' gelöscht.
/N Beim Kopieren werden die erzeugten Kurznamen verwendet.
/O Kopiert Informationen über den Besitzer und ACL.
/X Kopiert Dateiüberwachungseinstellungen (bedingt /O).
/Y Unterdrückt die Aufforderung zur Bestätigung, dass eine
vorhandene Zieldatei überschrieben werden soll.
/-Y Fordert zur Bestätigung auf, dass eine bestehende
Zieldatei überschrieben werden soll.
/Z Kopiert Dateien in einem Modus, der einen Neustart ermöglicht.
Die Option /Y kann in der Umgebungsvariable COPYCMD vordefiniert sein.
Sie kann mit /-Y in der Befehlszeile deaktiviert werden.
Gruß
Undertaker
Antwort 3 von Limbius
Ja, stimmt - das könnte man nutzen
Antwort 4 von Undertaker
Hi,
das kann man definitiv nutzen.
Ich sichere z.B. damit beim Schutdown alle relevanten Dateien auf den Server:
Gruß
Undertaker
das kann man definitiv nutzen.
Ich sichere z.B. damit beim Schutdown alle relevanten Dateien auf den Server:
@ECHO OFF
SET SOURCE="D:\Eigene Dateien"
SET DEST="\\SERVER\ ... \Eigene Dateien\*.*"
SET PARM=/D /E /R /K /Y
XCOPY %SOURCE% %DEST% %PARM%
EXIT
Gruß
Undertaker