BATCH? Dateien (inkrementell) sichern und uU umbenennen
Hallo!
Ich bin hier auf einen Thread gestossen, der nahe an meinem Problem liegt: [BATCH] Dateien umbenennen ohne dabei vorhandene Dateien zu überschreiben.
Das hat in mir die Hoffnung geweckt, dass man mir hier (bei einem zum Teil nicht ganz unaehnlichen Problem) vielleicht auch weiterhelfen kann:
Ich suche nach einer einfachen und sicheren Loesung fuer folgendes Problem: Auf einem Windows 2000-Rechner sollen alle mit Word 2000 bearbeiteten Dateien (zB in 10 Minuten-Abstaenden) wiederkehrend und vor allem (in ihrem jeweiligen Ist-Zustand!) dauerhaft gesichert werden.
Mit den Bordmitteln von Word 2000 ist dies leider nicht moeglich: Vorhandene Sicherungskopien werden beim naechsten Oeffnen derselben Datei naemlich automatisch durch neue ueberschrieben (wird also ein Dokument versehentlich in einem "falschen" Zustand abgespeichert und dann wieder geoeffnet, ist auch die - zuvor "richtige" - Sicherungskopie im "falschen" Zustand); AutoWiederherstellen-Dateien sind wiederum nur so lange vorhanden, so lange die Datei geoeffnet ist (Word loescht sie, sobald das bearbeitete Dokument entweder abgespeichert oder - zumeist irrtuemlich - nicht gespeichert wird).
Es geht also in Wahrheit um eine DAU-feste Dokumentensicherung (lokal unter W2k), die insbesondere auch gegen versehentliches Nicht-Speichern und vorschnelles Ueberschreiben schuetzen sollte.
Meine Wunschvorstellung waere, dass saemtliche betroffenen Dateien (etwa alle Dateien aus dem "Eigene Dateien"-Ordner einschliesslich/zuzueglich der Word-Sicherungskopien und der Word-AutoWiederherstellen-Dateien) in regelmaessigen kurzen Intervallen in einen Backup-Folder gesichert werden. Dabei sollten/muessten natuerlich nur solche Dateien (neu) abgespeichert werden, die sich geaendert haben.
Das waere vielleicht nicht so schwierig, wenn da nicht zwei Sonderwuensche waeren:
1. sollte die Sicherung naemlich "historisiert" erfolgen, dh, geaenderte Dateien sollten nicht ueberschrieben werden, sondern die jeweils aelteren Sicherungskopien neben der neueren Version vorhanden bleiben (in irgendeiner Form, die erkennen laesst, welche Version juenger und welche aelter ist, also zB Numerierung, Datumszusatz im Dateinamen etc); und
2. muesste die Sicherung auch geoeffnete Dateien erfassen (was offenbar nicht ganz so einfach bzw unkompliziert ist), da sonst etwa die AutoWiederherstellen-Dateien gar nicht gesichert werden koennten.
Gibt es da irgendeine nicht zu aufwaendige batch-Loesung? Oder ein einfaches Programm?
Danke fuer Ihre Muehe,
ultersports
Ich bin hier auf einen Thread gestossen, der nahe an meinem Problem liegt: [BATCH] Dateien umbenennen ohne dabei vorhandene Dateien zu überschreiben.
Das hat in mir die Hoffnung geweckt, dass man mir hier (bei einem zum Teil nicht ganz unaehnlichen Problem) vielleicht auch weiterhelfen kann:
Ich suche nach einer einfachen und sicheren Loesung fuer folgendes Problem: Auf einem Windows 2000-Rechner sollen alle mit Word 2000 bearbeiteten Dateien (zB in 10 Minuten-Abstaenden) wiederkehrend und vor allem (in ihrem jeweiligen Ist-Zustand!) dauerhaft gesichert werden.
Mit den Bordmitteln von Word 2000 ist dies leider nicht moeglich: Vorhandene Sicherungskopien werden beim naechsten Oeffnen derselben Datei naemlich automatisch durch neue ueberschrieben (wird also ein Dokument versehentlich in einem "falschen" Zustand abgespeichert und dann wieder geoeffnet, ist auch die - zuvor "richtige" - Sicherungskopie im "falschen" Zustand); AutoWiederherstellen-Dateien sind wiederum nur so lange vorhanden, so lange die Datei geoeffnet ist (Word loescht sie, sobald das bearbeitete Dokument entweder abgespeichert oder - zumeist irrtuemlich - nicht gespeichert wird).
Es geht also in Wahrheit um eine DAU-feste Dokumentensicherung (lokal unter W2k), die insbesondere auch gegen versehentliches Nicht-Speichern und vorschnelles Ueberschreiben schuetzen sollte.
Meine Wunschvorstellung waere, dass saemtliche betroffenen Dateien (etwa alle Dateien aus dem "Eigene Dateien"-Ordner einschliesslich/zuzueglich der Word-Sicherungskopien und der Word-AutoWiederherstellen-Dateien) in regelmaessigen kurzen Intervallen in einen Backup-Folder gesichert werden. Dabei sollten/muessten natuerlich nur solche Dateien (neu) abgespeichert werden, die sich geaendert haben.
Das waere vielleicht nicht so schwierig, wenn da nicht zwei Sonderwuensche waeren:
1. sollte die Sicherung naemlich "historisiert" erfolgen, dh, geaenderte Dateien sollten nicht ueberschrieben werden, sondern die jeweils aelteren Sicherungskopien neben der neueren Version vorhanden bleiben (in irgendeiner Form, die erkennen laesst, welche Version juenger und welche aelter ist, also zB Numerierung, Datumszusatz im Dateinamen etc); und
2. muesste die Sicherung auch geoeffnete Dateien erfassen (was offenbar nicht ganz so einfach bzw unkompliziert ist), da sonst etwa die AutoWiederherstellen-Dateien gar nicht gesichert werden koennten.
Gibt es da irgendeine nicht zu aufwaendige batch-Loesung? Oder ein einfaches Programm?
Danke fuer Ihre Muehe,
ultersports
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 12192
Url: https://administrator.de/forum/batch-dateien-inkrementell-sichern-und-uu-umbenennen-12192.html
Ausgedruckt am: 08.04.2025 um 23:04 Uhr
10 Kommentare
Neuester Kommentar
Moin ultersports,
*grummelbrummel*.. interessante Herausforderung, reizt mich schon, und im Teil 1 sehe ich auch keine Probleme, das unaufwändig hinzubekommen...
Aaaaaaber...
den Teil 2 sollten wir vorher noch mal öffentlich ausdiskutieren, weil der aus meiner Sicht gleich mehrere Folgefragen aufwirft..
- wenn Du geöffnete Dateien kopierst, dann haben die ja dennoch den Zustand entweder des letzten "Automatisch-Gespeichert-Werdens" von Word oder den Zustand "Vor-dem-Bearbeiten".
Würde also Sinn machen, wenn Du allen Usern verordnest, sagen wir mal, alle drei Minuten zwangszuspeichern.
Nun hat aber genau diese Word-Funktionalität ("Automatische Speicherung") seit Version WinWord 2.0 bis heute mehr Word-Dokumente zerstört als jemals durch normale Plattencrashs übern Jordan gehen. Frag mal Dr. Google...
Und die Illusion, von einer derartigen Automatisch-gespeicherten-Datei wieder zu einem sinnvoll wiederhergestellten Dokument zu kommen... vergiss es.
Eher schafft es Microsoft, ein stabiles Betriebssystem zu programmieren.
- aber angenommen, diese geöffneten Dateien in diesem dubiosen Zustand wären nun tatsächlich um z.B 11:45h, 12:00h, 12:15h usw "inkrementell" gesichert worden und dann ruft tatsächlich ein hysterischer User bei Dir an mit "ich hab gar nichts gemacht, aber plötzlich war das Formular kaputt, kannste mal eben die Version von gestern mittach zurückspielen?"...
Wie willst Du denn den letzten "stabilen" Zustand erkennen? Welche Sicherung nimmst Du? Das ganze Verzeichnis mit allen Doc's, auch wenn es ein Gruppenlaufwerk ist? Oder nur ein Dokument?
Und was hast Du da für einen manuellen Aufwand, wenn es mehr als zwei hysterische DAUs sind?
-wenn diese Word-Docs so wahnsinnig erhaltenswert sind, dann wäre auf jeden Fall eine "echte" Versionsverwaltung sinnvoller, meinetwegen ein kleiner cvs-Server, an dem Word-Dokumente ein- und ausgecheckt werden und ein kleiner Admin Versionsnummern vergibt.. was sind das denn für Docs? Nobelpreisverdächtiges? Gedichte?
- kurz gesagt, ich halte eine "inkrementelle Sicherung" zwar für machbar, aber für absolut überdimensioniert und vor allem sehe ich keine Möglichkeit, die Rücksicherungs-Optionen zu automatisieren.
Und ich sehe keinen Sinn darin, dass Du als Admin eine halbe Stunde manuellen und fehlerträchtigen Aufwand treibst zum Rückspielen einer möglicherweise "besseren" Version, um einem DAU eine Viertelstunde Doppel-Arbeit zu ersparen.
Dann lieber eine organisatische Regelung.. stabile Versionen auf dem Gruppenlaufwerk, Arbeitsversionen in der Verantwortung der User auf der lokalen Platte/dem usereigenen Laufwerk.
Überzeug mich, dass Deine Sicherungsstrategie insgesamt mehr Nutzen als Aufwand verursacht, dann schreddere ich Dir so einen inkrementellen Batch zusammen..
Frank / der Biber aus Bremen
*grummelbrummel*.. interessante Herausforderung, reizt mich schon, und im Teil 1 sehe ich auch keine Probleme, das unaufwändig hinzubekommen...
Aaaaaaber...
den Teil 2 sollten wir vorher noch mal öffentlich ausdiskutieren, weil der aus meiner Sicht gleich mehrere Folgefragen aufwirft..
- wenn Du geöffnete Dateien kopierst, dann haben die ja dennoch den Zustand entweder des letzten "Automatisch-Gespeichert-Werdens" von Word oder den Zustand "Vor-dem-Bearbeiten".
Würde also Sinn machen, wenn Du allen Usern verordnest, sagen wir mal, alle drei Minuten zwangszuspeichern.
Nun hat aber genau diese Word-Funktionalität ("Automatische Speicherung") seit Version WinWord 2.0 bis heute mehr Word-Dokumente zerstört als jemals durch normale Plattencrashs übern Jordan gehen. Frag mal Dr. Google...
Und die Illusion, von einer derartigen Automatisch-gespeicherten-Datei wieder zu einem sinnvoll wiederhergestellten Dokument zu kommen... vergiss es.
Eher schafft es Microsoft, ein stabiles Betriebssystem zu programmieren.
- aber angenommen, diese geöffneten Dateien in diesem dubiosen Zustand wären nun tatsächlich um z.B 11:45h, 12:00h, 12:15h usw "inkrementell" gesichert worden und dann ruft tatsächlich ein hysterischer User bei Dir an mit "ich hab gar nichts gemacht, aber plötzlich war das Formular kaputt, kannste mal eben die Version von gestern mittach zurückspielen?"...
Wie willst Du denn den letzten "stabilen" Zustand erkennen? Welche Sicherung nimmst Du? Das ganze Verzeichnis mit allen Doc's, auch wenn es ein Gruppenlaufwerk ist? Oder nur ein Dokument?
Und was hast Du da für einen manuellen Aufwand, wenn es mehr als zwei hysterische DAUs sind?
-wenn diese Word-Docs so wahnsinnig erhaltenswert sind, dann wäre auf jeden Fall eine "echte" Versionsverwaltung sinnvoller, meinetwegen ein kleiner cvs-Server, an dem Word-Dokumente ein- und ausgecheckt werden und ein kleiner Admin Versionsnummern vergibt.. was sind das denn für Docs? Nobelpreisverdächtiges? Gedichte?
- kurz gesagt, ich halte eine "inkrementelle Sicherung" zwar für machbar, aber für absolut überdimensioniert und vor allem sehe ich keine Möglichkeit, die Rücksicherungs-Optionen zu automatisieren.
Und ich sehe keinen Sinn darin, dass Du als Admin eine halbe Stunde manuellen und fehlerträchtigen Aufwand treibst zum Rückspielen einer möglicherweise "besseren" Version, um einem DAU eine Viertelstunde Doppel-Arbeit zu ersparen.
Dann lieber eine organisatische Regelung.. stabile Versionen auf dem Gruppenlaufwerk, Arbeitsversionen in der Verantwortung der User auf der lokalen Platte/dem usereigenen Laufwerk.
Überzeug mich, dass Deine Sicherungsstrategie insgesamt mehr Nutzen als Aufwand verursacht, dann schreddere ich Dir so einen inkrementellen Batch zusammen..
Frank / der Biber aus Bremen
Also ich denke mal Frank hat recht, der Aufwand wird riesig.
Du könntest zwar vor dem Kopiervorgang ein Verzeichnis mit dem Namen des Datum und der Zeit anlegen, so wäre klar, wo du in etwa Suchen musst...aber ein Krampf wird es sicher.
Eine der hübschesten Lösung fände ich: Update auf 2003, Schattenkopien aktivieren, und die User sich bei Bedarf die Dateien selbst zurück holen lassen.
Du könntest zwar vor dem Kopiervorgang ein Verzeichnis mit dem Namen des Datum und der Zeit anlegen, so wäre klar, wo du in etwa Suchen musst...aber ein Krampf wird es sicher.
Eine der hübschesten Lösung fände ich: Update auf 2003, Schattenkopien aktivieren, und die User sich bei Bedarf die Dateien selbst zurück holen lassen.

es lebe der biber.
wenn ich noch mal holz nachlegen darf.
1 mal die woche/monat ein backup, und
wenn's den sein muss jeden abend
einmal ins selbe verzeichnis (alles
überschreiben).
wenn es ein problem gibt, findest du das
document in seiner aktuellsten form
im täglichen backupverzeichnis, bzw.
alternativ in der wochen-/monats-sicherung.
wenn da nix brauchbares dabei sein sollte,
dann wird's noch mal gemacht. aus fehlern
lernt man schliesslich.
sollten die documente tatsächlich so wichtig
oder umfangreich sein, so sollten sich die
lieben herschaften mal gedanken darüber
machen, wie sie selbst ihre arbeit sichern
(zb. "speichern als" und anderen namen
vergeben).
das is der einzig richtige weg.
wenn ich noch mal holz nachlegen darf.
1 mal die woche/monat ein backup, und
wenn's den sein muss jeden abend
einmal ins selbe verzeichnis (alles
überschreiben).
wenn es ein problem gibt, findest du das
document in seiner aktuellsten form
im täglichen backupverzeichnis, bzw.
alternativ in der wochen-/monats-sicherung.
wenn da nix brauchbares dabei sein sollte,
dann wird's noch mal gemacht. aus fehlern
lernt man schliesslich.
sollten die documente tatsächlich so wichtig
oder umfangreich sein, so sollten sich die
lieben herschaften mal gedanken darüber
machen, wie sie selbst ihre arbeit sichern
(zb. "speichern als" und anderen namen
vergeben).
das is der einzig richtige weg.
Okay, ultersports,
gegen meine innere Überzeugung, aber versprochen ist versprochen..
Unten wäre das Grundgerüst eines Batches, der das macht, was Du (warum-auch-immer) machen willst.
Hänge ihn als Dienst auf und lass ihn Gottes Namen alle 15 Min laufen.
Und erzähl bitte nicht rum, dass ich derartige Programmiervorhaben unterstützt habe
Zum Batch:
%FromDir%- Variable anpassen : da hat der DAUser seine *.asd-Dateien
%ToDir% : da soll der Unsinn hin; aus "xyz.asd" wird "yyyy-mm-tt-hhhmmxyz.asd"
::------------Grundgerüst copyasd.bat----
@echo off
:: ...
Set FromDir=C:\Dokumente und Einstellungen\[DeinDAUChefAccount]\Anwendungsdaten\Microsoft\Word
Set ToDir=D:\temp
if defined DEBUGMYBATCHES dir "%FromDir%"
:: wenn Du keine Delta-Sicherung haben willst, nimm in den nächsten beiden xcopy-Zeilen den "/D" raus
xcopy "%Fromdir%" %todir% /D /h /y /l |Find /v "Datei(en) kopiert" >%temp%\xcopydelta.txt
if defined DEBUGMYBATCHES type %temp%\xcopydelta.txt
xcopy "%Fromdir%" %ToDir% /D /h /y
:: %date% %time% liefert (bei mir) 22.06.2005 11:47:10,36
::
set TimePrefix=%date:~6,4%-%date:~3,2%-%date:~0,2%-%time:~0,2%h%time:~3,2%
:: %TimePrefix% wird dann bei mir zu "2005-06-22-11h47"
:: 2. Parameter der Folgezeile ergibt zB D:\temp\2005-06-22-11h47_AutoWiederherstellen-Speicherung von readme.asd
for /F "tokens=*" %%i in (%temp%\xcopydelta.txt) do copy "%%i" "%ToDir%\%TimePrefix%_%%~nxi"
:Aufräumen
if exist %temp%\xcopydelta.txt del %temp%\xcopydelta.txt
:: oder oben eine Zeile "SetLocal" rein statt der nächsten drei
set FromDir=
set ToDir=
Set TimePrefix=
::------------ende Grundgerüst copyasd.bat----
Hope this Helps
*kopfschüttelnd und nicht überzeugt, ein gutes Werk getan zu haben*
Frank / der Biber aus Bremen
gegen meine innere Überzeugung, aber versprochen ist versprochen..
Unten wäre das Grundgerüst eines Batches, der das macht, was Du (warum-auch-immer) machen willst.
Hänge ihn als Dienst auf und lass ihn Gottes Namen alle 15 Min laufen.
Und erzähl bitte nicht rum, dass ich derartige Programmiervorhaben unterstützt habe
Zum Batch:
%FromDir%- Variable anpassen : da hat der DAUser seine *.asd-Dateien
%ToDir% : da soll der Unsinn hin; aus "xyz.asd" wird "yyyy-mm-tt-hhhmmxyz.asd"
::------------Grundgerüst copyasd.bat----
@echo off
:: ...
Set FromDir=C:\Dokumente und Einstellungen\[DeinDAUChefAccount]\Anwendungsdaten\Microsoft\Word
Set ToDir=D:\temp
if defined DEBUGMYBATCHES dir "%FromDir%"
:: wenn Du keine Delta-Sicherung haben willst, nimm in den nächsten beiden xcopy-Zeilen den "/D" raus
xcopy "%Fromdir%" %todir% /D /h /y /l |Find /v "Datei(en) kopiert" >%temp%\xcopydelta.txt
if defined DEBUGMYBATCHES type %temp%\xcopydelta.txt
xcopy "%Fromdir%" %ToDir% /D /h /y
:: %date% %time% liefert (bei mir) 22.06.2005 11:47:10,36
::
set TimePrefix=%date:~6,4%-%date:~3,2%-%date:~0,2%-%time:~0,2%h%time:~3,2%
:: %TimePrefix% wird dann bei mir zu "2005-06-22-11h47"
:: 2. Parameter der Folgezeile ergibt zB D:\temp\2005-06-22-11h47_AutoWiederherstellen-Speicherung von readme.asd
for /F "tokens=*" %%i in (%temp%\xcopydelta.txt) do copy "%%i" "%ToDir%\%TimePrefix%_%%~nxi"
:Aufräumen
if exist %temp%\xcopydelta.txt del %temp%\xcopydelta.txt
:: oder oben eine Zeile "SetLocal" rein statt der nächsten drei
set FromDir=
set ToDir=
Set TimePrefix=
::------------ende Grundgerüst copyasd.bat----
Hope this Helps
*kopfschüttelnd und nicht überzeugt, ein gutes Werk getan zu haben*
Frank / der Biber aus Bremen
Moin, Ultersports,
nöö, dann such mal hier im Forum oder bei Dr. Google oder in der Dos-Hilfe
am besten nach dem "AT-Befehl"
und als Dienst starten kannst du eben auch einen Batch, z.B. in diesem *lach* M$-Taskplaner.
Vielleicht hat noch einer der anderen einen Link griffbereit.
Frank / der Biber aus Bremen
nöö, dann such mal hier im Forum oder bei Dr. Google oder in der Dos-Hilfe
am besten nach dem "AT-Befehl"
und als Dienst starten kannst du eben auch einen Batch, z.B. in diesem *lach* M$-Taskplaner.
Vielleicht hat noch einer der anderen einen Link griffbereit.
Frank / der Biber aus Bremen
Na gut, ultersports,
trotzdem wäre eine organisatorische Lösung Deines Problems erstrebenswerter...
Vielleicht kannst Du für Deinen DAU eins dieser Drei-Tasten-Keyboards besorgen (nur ENTER, Abbruch und F1) ... und die Abbruchtaste mit Kunstharz ausgießen.
Schau doch noch mal im Hardware-Forum nach Musterlösungen
Schönen Tag Dir
Frank / der Biber aus Bremen
trotzdem wäre eine organisatorische Lösung Deines Problems erstrebenswerter...
Vielleicht kannst Du für Deinen DAU eins dieser Drei-Tasten-Keyboards besorgen (nur ENTER, Abbruch und F1) ... und die Abbruchtaste mit Kunstharz ausgießen.
Schau doch noch mal im Hardware-Forum nach Musterlösungen
Schönen Tag Dir
Frank / der Biber aus Bremen