karlbarth
Goto Top

Batch die Änderungsdatum von Dateien auswertet

Hallo,

ich brauche eine Batchdatei, die mir 2 Dateien vergleicht und die ältere mit der neuen überschriebt

in der Form:
if Pfad1/Datei.datum > Pfad2/Datei.datum
Copy Pfad1/Datei.datum auf Pfad2/Datei.datum
if Pfad1/Datei.datum < Pfad2/Datei.datum
Copy Pfad2/Datei.datum auf Pfad1/Datei.datum
if Pfad1/Datei.datum = Pfad2/Datei.datum
echo Keine Modifiktaion

Aber meine Batchkenntisse reichen nicht zum Datumauslesen face-sad.

Hat jemand so eine Datei, oder kann mir weiterhelfen?

Vielen Dank,
Karl

Content-Key: 49138

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

Printed on: April 18, 2024 at 06:04 o'clock

Member: bastla
bastla Jan 18, 2007 at 11:57:24 (UTC)
Goto Top
Hallo Karl und willkommen im Forum!

Eine einfache Lösung könnte sich den Schalter "/D" von "XCOPY" zu Nutze machen:
xcopy /d /y D:\ADM\Datei.txt S:\Sync\Datei.txt > nul
xcopy /d /y S:\Sync\Datei.txt D:\ADM\Datei.txt > nul
Falls Du mehr als nur eine Datei zu synchronisieren hast, findest Du eine Menge einschlägiger Tools.

Grüße
bastla
Member: Biber
Biber Jan 18, 2007 at 12:12:24 (UTC)
Goto Top
Moin KarlBarth,

willkommen im Forum.

Wenn Du zwei Ordner synchron halten willst, sind IMHO zwei Dinge zu beachten.

1.) Denk noch mal drüber nach und wähle nach Möglichkeit irgendeine andere Strategie.
Wenn es von irgendwelchen Daten genau einen aktuellen, wahren und "richtigen" Stand geben soll, dann sollte es den auch genau einmal geben. Und nicht wahlweise in unterschiedlichen Verzeichnissen.
Ziel sollte sein, dass Du (und jede/r andere) immer weißt: "Klar, in OrdnerX ist immer die neueste Version, wenn ich die mal brauche." Nicht in OrdnerX und in OrdnerY.

Wenn Du es trotzdem machen musst/willst, suche nach SyncToy (vom sympatischen Weltmarktführer höchstselbst).


2.) Um dennoch die eigentliche Frage zu beantworten:

::---------------snipp SyncMirMa.Bat [dateiname.ext pfad1 pfad2]
@xcopy /d /y "%~2\%~1" "%~3\%~1" >nul  
@xcopy /d /y "%~3\%~1" "%~2\%~1" >nul  
::---------------snapp SyncMirMa.Bat [dateiname.ext pfad1 pfad2]
... wenn Du die Verzeichnisse variabel halten willst.

Aufruf dann in Deinem Beispiel mit "SyncMirMa Datei Pfad1 Pfad2"

Wenn es immer um/in die gleichen Verzeichnisse geht und sich nur der Dateiname ändert:
::---------------snipp SyncMirDatei.Bat [dateiname.ext]
@xcopy /d /y "D:\verzeichnis1\%~1" "c:\anderesDir\%~1" >nul  
@xcopy /d /y "c:\anderesDir\%~1" "D:\Verzeichnis1\%~1" >nul  
::---------------snapp SyncMirDatei.Bat [dateiname.ext ]

HTH
Biber
[Edit]
*lach*...Mahlzeit bastla face-wink
Sorry, hatte langsamer getippt als Du...
[/Edit]
Member: KarlBarth
KarlBarth Jan 18, 2007 at 12:47:43 (UTC)
Goto Top
DANKE!

Das mehrere Stände gefährlich sind ist mir klar - aber mit SyncToy kann ich nur ganze Ordner abgleichen.
Ich möchte das Adressbuch bzw. eins der verwendeten Adressbücher in Thunderbird für eine Gruppe syncron halten. Dazu darf aber nur eins der Adressbücher abgeglichen werden, die im gleichen Verzeichniss liegen.

Das es mit XCopy so einfach geht hät ich nicht geglaubt .... spitze!