Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Im Verzeichnis bestehende Datei nicht überschreiben

hac004 / 15 Antworten / Baumansicht Nickles

Hallo zusammen,

aus Sicherheitsgründen will ich automatisch mittels *.cmd und Taskscheduler eine bestehende Datei wöchentlich in einen Ordner kopieren. Die bereits bestehende(n) Datei(en) soll(en) weiter bestehen und NICHT überschrieben werden. Der Sinn besteht darin, dass ggf. die letzte funktionierende Datei gesucht und gefunden werden kann. Die normale Kopie klappt, aber welcher DOS-Befehl ist dazu erforderlich?

Muster: copy "F:\Eigene Dateien\Kurzwahlverzeichnis.txt" "L:\Test\" /V /Y


Dank im Voraus und

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
ChrE hac004 „Im Verzeichnis bestehende Datei nicht überschreiben“
Optionen

Hallo,

Die zu kopierende Datei hat immer den selben Namen?
Damit nichts überschrieben wird, muss die abgespeicherte Datei einen anderen Namen erhalten:

copy "F:\Eigene Dateien\Kurzwahlverzeichnis.txt" "L:\Test\Kurzwahlverzeichnis%DATE%.txt" /V /Y

Damit sollte immer das aktuelle Datum im Namen erscheinen und diesen "eindeutig" machen.
Bei einmal kopieren pro Woche sollte das gehen.

Gruss

ChrE



bei Antwort benachrichtigen
hac004 ChrE „Hallo, Die zu kopierende Datei hat immer den selben Namen? Damit nichts...“
Optionen

Danke für die schnelle Antwort. Habe es mal probiert, aber es wird nur das neue Datum mitkopiert und es steht nur eine Datei im Verzeichnis.
Beim manuellen Kopieren von Dateien wird ja eine lfd. Nummer vergeben und ich hoffe, dass es auch für mein Problem eine brauchbare Lösung gibt..

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
Borlander hac004 „Danke für die schnelle Antwort. Habe es mal probiert, aber es wird nur das neue...“
Optionen

Ich kann Dein Problem nicht so recht nachvollziehen. Der Dateiname der Zieldatei ändert sich nur beim Tageswechsel. Wenn Du das ganze morgen nochmal ausführst dann bekommst Du eine zweite Datei...

Beim manuellen Kopieren kümmerst sich der Windows-Explorer um eindeutige Dateinamen.


Gruß
Borlander

bei Antwort benachrichtigen
hac004 Borlander „Ich kann Dein Problem nicht so recht nachvollziehen. Der Dateiname der Zieldatei...“
Optionen

Hallo Borlander,

hier mal meine Original-Konfiguration der Moneystart.cmd:

xcopy "F:\Eigene Dateien\Meine Finanzen.mny" "L:\Money Sicherung\" /V /Y
xcopy "F:\Eigene Dateien\Eigentuemergemeinschaft\Kontofuehrung\Eigentuemer.mny" "L:\Money Sicherung\" /V /Y


Es geht darum, meine Kontoführungen 200-prozentig zu sichern und deshalb MUSS es erkennbar sein, ggf. welche der benutzten Dateien noch in Ordnung waren, denn MS Money speichert nur den aktuellen Ist-Zustand. Wenn dieser also aus irgendeinem Grunde fehlerhaft ist, wird der Fehler mitgespeichert und beim nächsten Öffnen arbeitet man mit diesem weiter.

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
Borlander hac004 „Hallo Borlander, hier mal meine Original-Konfiguration der Moneystart.cmd: xcopy...“
Optionen
MUSS es erkennbar sein, ggf. welche der benutzten Dateien noch in Ordnung waren
Dieses Problem ist aber nun unabhängig von den Dateinamen!

Woran erkennst Du denn, dass die Datei fehlerhaft ist?
Und kann man das automatisiert prüfen?


Gruß
Borlander
bei Antwort benachrichtigen
hac004 Borlander „ Dieses Problem ist aber nun unabhängig von den Dateinamen! Woran erkennst Du...“
Optionen

Zusätzliche Ergänzung:
Das Risiko besteht durch die Anwendung der Kontoführung über Heimnetz und die Synchronisierung der Kontostände muss funktionieren (klappt auch), aber unterläuft ein Fehler vor der Sicherung, wird mit falschen Werten weiter gerechnet und es ist sehr, sehr schwer nach zu vollziehen wann und wo es passiert ist.
Nur ein Beispiel: Gestern ist nach einem MS-Update Money abgestürzt und die gültige Einstellung musste wieder hergestellt werden. Problem: Welche Sicherung ist nun die richtige / gültige , Money speichert die letzte ab ? Feststellbar ist es nur durch Öffnen der Anwendung.

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
ChrE hac004 „Danke für die schnelle Antwort. Habe es mal probiert, aber es wird nur das neue...“
Optionen

Hallo,

Du hast doch geschrieben:

> eine bestehende Datei wöchentlich in einen Ordner kopieren

Dann entstehen doch mehrere Versionen, die sich durch das Datum unterscheiden.

> und es steht nur eine Datei im Verzeichnis

Ja, wenn Du mehrmals am Tag kopierst. Sobald aber ein neues Datum in der Variablen %Date% steht,
dann klappt es. Es werden dann mehrere Versionen.

Gruss

ChrE

bei Antwort benachrichtigen
hac004 ChrE „Hallo, Du hast doch geschrieben: eine bestehende Datei wöchentlich in einen...“
Optionen
und es steht nur eine Datei im Verzeichnis

genauso ist es, aber aus dieser einen Datei kann ich nichts auswählen, denn sie wurde nur (mit neuem Datum) überschrieben...

Gruss hac004
...man lernt nie aus...
bei Antwort benachrichtigen
ChrE hac004 „ genauso ist es, aber aus dieser einen Datei kann ich nichts auswählen, denn...“
Optionen

Hallo,

Nein, der Dateiname ist das Datum:

Der Dateiname ändert sich mit jedem neuen Datum.

2. Version:

copy "F:\Eigene Dateien\Kurzwahlverzeichnis.txt" "L:\Test\Kurzwahlverzeichnis%date:~6,4%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%%time:~6,2%.txt" /V /Y

test.txt -> das Original

test20101003160000.txt so heisst die Datei nach dem kopieren (16.00 Uhr)

test20101004173000.txt so heisst die Kopie der Datei, wenn du sie morgen kopiertst (17.30 Uhr)

Ist dir so gedient?

Gruss

ChrE

bei Antwort benachrichtigen
Borlander ChrE „Hallo, Nein, der Dateiname ist das Datum: Der Dateiname ändert sich mit jedem...“
Optionen

Mit Trennzeichen wird das ganze noch etwas besser lesbar:
copy "F:\Eigene Dateien\Kurzwahlverzeichnis.txt" "L:\Test\Kurzwahlverzeichnis_%date:~6,4%-%date:~3,2%-%date:~0,2%T%time:~0,2%%time:~3,2%%time:~6,2%.txt" /V /Y
liefert dann
test_2010-10-03T160000.txt

Gruß
Borlander

bei Antwort benachrichtigen
ChrE Borlander „Mit Trennzeichen wird das ganze noch etwas besser lesbar: copy F: Eigene Dateien...“
Optionen

Hallo,

Ich hasse Trennzeichen, da überflüssig :-)

...möglichst noch unterschiedliche in einem Namen ... bäh ;-)

Viel wichtiger ist: Sortiert man nach Dateinamen, hat man automatisch eine zeitlich sortierte Liste der Files...

Gruss

ChrE

bei Antwort benachrichtigen
hac004 ChrE „Hallo, Die zu kopierende Datei hat immer den selben Namen? Damit nichts...“
Optionen

Hallo ChrE,
dein Tipp scheint nun doch zu funktionieren, allerdings wird beim Kopieren ein neues Unterverzeichnis im Sicherungsordner mit dem Datum erstellt. Das hatte ich eingangs übersehen.
Vielen Dank nochmals.

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
hac004 Nachtrag zu: „Hallo ChrE, dein Tipp scheint nun doch zu funktionieren, allerdings wird beim...“
Optionen

@ChrE:

Nachtrag:

So sieht die Seite jetzt aus, und damit kann ich leben.

http://s10.directupload.net/file/d/2301/yyfr8a3s_jpg.htm

Dank allen Ratgebern!

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen
Gerd6 hac004 „Im Verzeichnis bestehende Datei nicht überschreiben“
Optionen

Hallo hac,

das ist ein prob bei copy, xcopy und auch robocopy.

Ich weiß zwar nicht, ob DOS für dich zwingend notwendig ist, aber wenn nicht, könntest Du Dir dafür mal ein backup-Programm ansehen und zwar:

Cobian

Das verwende ich seit langem zur vollsten Zufriedenheit und damit könntest Du das erreichen (wie gesagt, wenn DOS nicht zwingend ist).
Du kannst das prog auch zeitsteuern und die gewünschte Option der separaten Sicherungen, also ohne Löschung der vorherigen, geht damit einwandfrei.

hth
Gerd

bei Antwort benachrichtigen
hac004 Gerd6 „Hallo hac, das ist ein prob bei copy, xcopy und auch robocopy. Ich weiß zwar...“
Optionen

Hallo Gerd,

Ich weiß zwar nicht, ob DOS für dich zwingend notwendig ist, aber wenn nicht,...

Da meine Anwendung stark in andere Abhängigkeiten eingreift, muss ich es erstmal mit DOS versuchen.

Trotzdem Danke!

Gruss hac004

...man lernt nie aus...
bei Antwort benachrichtigen