by Filzfrosch » 22 Jan 2021, 13:43
Moin,
ich bastele mir gerade ein kleines Datei-Sicherungstool.
Die Dateien sollen schlicht von einem Verzeichnis in ein Sicherungsverzeichnis kopiert werden.
Es soll aber geprüft werden, ob die zu kopierende Datei dort schon vorhanden ist.
Wenn nein: -> Kopiere in Zielpfad_1
Wenn ja: -> - prüfe ob diese gleich der Quelldatei ist (FileGetTime-Prüfung)
- Wenn ja, mache gar nichts
- Wenn nein, kopiere die alte Datei mit einem Zeitstempel-Zusatz im Dateinamen in den Zielpfad_2
- Kopiere dann die neue Datei in den Zielpfad_1
Das kopieren und Zeitstempel auslesen, umbennen, vergleichen usw. ist kein Problem.
Solange ich feste Dateinamen im Quell- und im Zielverzeichnis_1 habe und verwende, funktioniert das prächtig.
Allerdings habe ich bei diesem neuen Script nur den Pfad zur Quelldatei und die beiden Zielverzeichnispfade als Variablen.
Damit kann ich zwar die FileGetTime der Quelldatei auslesen, aber für den Vergleich bräuchte ich die FileGetTime der eventuell vorhandenen Datei im Zielverzeichnis.
Das heißt, ich müsste irgendwie an den nackten Dateinamen (ohne Pfadangabe) der Quelldatei kommen, damit ich den als Variable setzen kann und danach im Zielverzeichnis suchen kann.
Diese Angaben habe ich beispielsweise:
Quelldatei = D:\Test\ABC.txt
Zielpfad_1= E:\
Zielpfad_2= E:\Save
Im Zielpfad_1 soll immer nur die aktuelle Datei (ABC.txt) liegen.
Im Zielpfad_2 soll die alte Version mit dem Dateinamen 20210122150000_ABC.txt erstellt werden. Wobei "20210122150000" die FileGetTime der alten Version darstellt.
Wie macht man das am geschicktesten?
Oder denke ich schon wieder viel zu kompliziert und geht das viel einfacher?
Grüße aus dem Norden
Moin,
ich bastele mir gerade ein kleines Datei-Sicherungstool.
Die Dateien sollen schlicht von einem Verzeichnis in ein Sicherungsverzeichnis kopiert werden.
Es soll aber geprüft werden, ob die zu kopierende Datei dort schon vorhanden ist.
Wenn nein: -> Kopiere in Zielpfad_1
Wenn ja: -> - prüfe ob diese gleich der Quelldatei ist (FileGetTime-Prüfung)
- Wenn ja, mache gar nichts
- Wenn nein, kopiere die alte Datei mit einem Zeitstempel-Zusatz im Dateinamen in den Zielpfad_2
- Kopiere dann die neue Datei in den Zielpfad_1
Das kopieren und Zeitstempel auslesen, umbennen, vergleichen usw. ist kein Problem.
Solange ich feste Dateinamen im Quell- und im Zielverzeichnis_1 habe und verwende, funktioniert das prächtig.
Allerdings habe ich bei diesem neuen Script nur den Pfad zur Quelldatei und die beiden Zielverzeichnispfade als Variablen.
Damit kann ich zwar die FileGetTime der Quelldatei auslesen, aber für den Vergleich bräuchte ich die FileGetTime der eventuell vorhandenen Datei im Zielverzeichnis.
Das heißt, ich müsste irgendwie an den nackten Dateinamen (ohne Pfadangabe) der Quelldatei kommen, damit ich den als Variable setzen kann und danach im Zielverzeichnis suchen kann.
Diese Angaben habe ich beispielsweise:
Quelldatei = D:\Test\ABC.txt
Zielpfad_1= E:\
Zielpfad_2= E:\Save
Im Zielpfad_1 soll immer nur die aktuelle Datei (ABC.txt) liegen.
Im Zielpfad_2 soll die alte Version mit dem Dateinamen 20210122150000_ABC.txt erstellt werden. Wobei "20210122150000" die FileGetTime der alten Version darstellt.
Wie macht man das am geschicktesten?
Oder denke ich schon wieder viel zu kompliziert und geht das viel einfacher?
Grüße aus dem Norden