ultersports
Goto Top

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

Content-Key: 12192

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

Printed on: April 19, 2024 at 09:04 o'clock

Member: Biber
Biber Jun 21, 2005 at 20:03:18 (UTC)
Goto Top
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.. face-wink


Frank / der Biber aus Bremen
Member: meinereiner
meinereiner Jun 21, 2005 at 21:34:46 (UTC)
Goto Top
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.
Mitglied: 13100
13100 Jun 22, 2005 at 01:18:44 (UTC)
Goto Top
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.
Member: ultersports
ultersports Jun 22, 2005 at 08:23:21 (UTC)
Goto Top
Guten Morgen!

Das freut mich aber, dass es so viele und so konstruktive Antworten gegeben hat, auch wenn in ihnen Zweifel an der Sinnhaftigkeit meines Anliegens anklingen ...

Zur Klaerung der Ausgangslage (ich fuerchte, das laesst sich nicht kurz halten, eine Zusammenfassung findet sich aber ganz unten):

Auf die Wahl des Betriebssystems und des Office-Produktes habe ich keinen Einfluss, hier muss ich die vorhandene Konstellation als gegeben hinnehmen. Auch die Einfuehrung eines anderen "Dateimanagements" (sei es human, sei es technisch) kommt leider nicht in Frage.

Es geht defintiv nur um _einen einzigen_ "DAU" - und das ist mein Chef face-smile

Und nein, ich bin kein Admin, kein Systembeauftragter oder EDV-Zustaendiger, kein professioneller Computerspezialist, sondern ein schlichter Fachmitarbeiter, der bei Computerproblemen immer dann zur Hilfe gerufen wird, wenn es schon zu spaet ist.

Eine der Lieblingsangewohnheiten meines Chefs ist es, stundenlang an einem Dokument zu arbeiten (es geht tatsaechlich um wissenschaftliche Arbeiten, wenn auch - schon aufgrund des Fachgebietes - leider nichts Nobelpreisverdaechtiges) und es - wohl im Eifer des Gefechts - waehrenddessen _nie_ abzuspeichern (ich habe natuerlich schon versucht, ihm das abzugewoehnen, bisher aber leider ohne Erfolg).

Das ist dann kein Problem, wenn wenigstens beim Schliessen gesichert wird. Auch ein unerwarteter Programmabsturz oder Aehnliches ist nicht so schlimm, weil dann immer noch auf die vorhandenen AutoWiederherstellen-Infos zurueckgegriffen werden kann. Problematisch ist es allerdings - und auch das kommt nicht selten vor -, wenn beim Schliessen in aller Eile "Speichern? - Nein" gedrueckt wird. Dann ist die Datei (und damit oft die Arbeit _mehrerer Stunden_) naemlich wirklich weg ... (siehe gleich unten)

Auch wenn sich solche "verlorenen" bzw geloeschten Daten manchmal mit diversen Datenrettungstools (die ich inzwischen fast blind beherrsche) noch aufstoebern lassen, ist das muehsam, langwierig und nur teilweise erfolgversprechend, auch die Ergebnisse sind oft frustrierend (Textfragmente, halbkorrumpierte Dateien).

Die zweite Unart ist es, dass gelegentlich Dateien "versuchshalber" bearbeitet werden und diese Aenderungen dann nicht, wie eigentlich beabsichtigt, verworfen werden, sondern abgespeichert, womit spaetestens nach dem Schliessen der Originalinhalt ueberschrieben wird. Beim naechsten Oeffnen der nun "falschen" Datei wird auch die Sicherungskopie mit dem "falschen" Inhalt ueberschrieben.

In Word sind - bei allen Zweifeln an ihrer Sinnhaftigkeit - saemtliche Sicherungsoptionen aktiv (va automatisches Speichern alle 10 Minuten, immer Sicherungskopie etc), das Problem ist, dass sie genau diesen Fehlern nichts entgegenzustellen vermoegen.

Die automatischen Sicherungen werden naemlich - jetzt bzw zumindest in/ab Word 2000 - nur in der AutoWiederherstellen-Datei vorgenommen, eben nicht in der Originaldatei (die unveraendert bleibt bzw die noch dazu gar nicht existiert, wenn - wie oben beschrieben - gar nie gespeichert wird). Wird Word beendet, sind die (temporaeren) AutoWH-Dateien weg, egal ob mit speichern oder nicht speichern beendet wurde.

Daher mein Wunsch, vor allem diese AutoWH-Dateien periodisch zu sichern.

Die Schwierigkeit bei den Sicherungskopien (Speicherung bei jedem Oeffnen der Datei, aber immer unter demselben Namen, wodurch auch die Sicherungskopien den "falschen" Inhalt bekommen) habe ich schon beschrieben.

Es geht also in Wahrheit eigentlich um drei Ziele, von denen mir das erste primaer wichtig ist:

1. Sicherung der AutoWH-Dateien.

Diese liegen in einem eigenen Ordner (!), sind als bloss temporaere Dateien aber waehrend ihrer Existenz permanent durch Word in Gebrauch ("geoeffent"). Der Vorteil ist, dass es eben immer nur wenige (meist nur eine) Dateien sind, naemlich die AutoWH-Infos zu den jeweils geoeffneten Dokumenten.

Hier wuerde es reichen, saemtliche Dateien des betreffenden Ordners in bestimmten Intervallen so abzuspeichern, dass zB der Dateiname (den man aber bis auf den Beginn "AutoWiederherstellen-Speicherung von [Originalname]" und die Endung ".asd" nicht kennt) immer um das Datum und die Uhrzeit ergaenzt wird (es bedarf also angesichts der geringen Dateienzahl nicht unbedingt einer Pruefung, ob die Datei im Zielordner schon vorhanden ist etc, eine inkrementelle Sicherung scheint hier also verzichtbar).

Ein Zwischenziel habe ich hier bereits erreicht: Waehrend die meisten Backup-Programme diese Dateien nicht sichern (koennen) (weil "in use"), gelingt es mit xcopy sehr wohl, auch diese offenen Dateien zu kopieren!

Dass diese Dateien geoeffnet sind, und ihr Zustand daher moeglichweise teilweise ein unsicherer ist, wuerde ich hinnehmen; dass der AutoSpeichern-Zeitpunkt von Word (= tatsaechlicher Eingriff in die Datei) und der Sicherungszeitpunkt wirklich zusammenfallen, wird, hoffe ich, bei Wahl geeigneter (unterschiedlicher) Intervalle nicht oft vorkommen. Im schlimmsten Fall muesste ich dann eben auf die - nur etwas aeltere - Vorversion zurueckgreifen (immer noch besser, es sind zB 15 Minuten Arbeit weg als Stunden).

Dass mir im Fall der Faelle haendische (Such-)Arbeit nicht erspart bleibt, halte ich fuer vertretbar; im Regelfall (und das ist unmittelbar nach einem solchen Vorfall) wuerde es ja genuegen, die letzte gesicherte AutoWH-Datei der betroffenen Datei auszugraben. Die Benennung der Dateien ist immerhin (siehe oben) so, dass sich die jeweilig gesicherte Datei am Namen der AutoWH-Datei (und - so wuerde ich es mir wuenschen - auch deren Sicherung) unzweifelhaft erkennen laesst.

2. Sicherung der Sicherungskopien.

Diese Frage ist mir an sich weniger wichtig (ich haette ja dann durch 1. immerhin auch die jeweiligen Inhalte der betreffenden Dateien "chronologisch" gespeichert). Jedenfalls aber muesste die Sicherung, wenn sie erfolgen soll, hier wohl inkrementell sein, weil sonst (etwa bei einer stets vollen, zB - wie unter 1. lediglich - mit Datum versehenen Sicherung) der Sicherungsdatenbestand rasch explodieren wuerde. Die Sicherungskopien werden von Word zwingend im selben Verzeichnis abgelegt, in dem sich die bearbeitete Datei befindet. Sie haben den Dateinamen "Sicherungskopie von [Originalname].wbk".

3. Sicherung der Dokumente selbst.

Auch dieses feature ist kein Muss, wenn doch, muesste die Sicherung freilich auch hier inkrementell sein.

_Kurz_:

Betroffen ist nur ein User; eine Umstellung des Systems (sowohl des Betriebs- als auch des Dateiverwaltungssystems) ist nicht moeglich und vermutlich noch aufwaendiger; gewisse Unsicherheiten bei der Sicherung offener Dateien und die Notwendigkeit haendischer Nacharbeit koennen in Kauf genommen werden. Primaer wichtig waere es, die AutoWH-Dateien periodisch zu sichern.

Mit anderen Worten: Wenn es gelingt, Ziel 1. (Sicherung der "in use"-befindlichen, temporaeren AutoWH-Dateien, welche sich in einem eigenen Ordner befinden, unter Beifuegung von zB Datum und Uhrzeit) mit einer batch-Datei zu erreichen, bin ich schon mehr als gluecklich!

Danke fuer Eure Geduld und Hilfe,
ultersports
Member: Biber
Biber Jun 22, 2005 at 10:02:37 (UTC)
Goto Top
Okay, ultersports,

gegen meine innere Überzeugung, aber versprochen ist versprochen.. face-sad

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
Member: ultersports
ultersports Jun 22, 2005 at 11:13:18 (UTC)
Goto Top
Danke, danke, danke!

Vielen Dank, dass Du mir trotz Deiner Bedenken geholfen hast!

Haendisch laeuft die batch-Datei perfekt und genau so, wie ich es mir vorgestellt habe.

Was ich allerdings leider nicht hinbekomme, ist, sie als Dienst zum laufen zu bringen. Wie stelle ich das an?

Bitte (nochmals) um Hilfe - und Nachsicht!

Thanks a lot,
U.
Member: Biber
Biber Jun 22, 2005 at 11:22:51 (UTC)
Goto Top
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
Member: ultersports
ultersports Jun 22, 2005 at 11:44:58 (UTC)
Goto Top
Hallo Biber!

Das ist wirklich peinlich ... Ich habe an sich ohnedies alles richtig gemacht (ueber den w2k Taskmanager), nur habe ich in der Eile wohl zunaechst nicht kapiert, dass ich ein (naemlich das Administrator-) Passwort eingeben muss, um die Task ueberhaupt ausfuehren zu koennen ...

Jetzt klappt es bestens, vielen Dank!

LG, U.
Member: Biber
Biber Jun 22, 2005 at 14:21:57 (UTC)
Goto Top
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 face-smile


Schönen Tag Dir

Frank / der Biber aus Bremen
Member: ultersports
ultersports Jun 22, 2005 at 15:26:01 (UTC)
Goto Top
... das ist mir auch schon oefter in den Kopf gekommen.

Danke fuer alles,
U.