Dateinamen aus Pfadangabe extrahieren

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Dateinamen aus Pfadangabe extrahieren

Re: Dateinamen aus Pfadangabe extrahieren

by Filzfrosch » 22 Jan 2021, 17:20

Wenn SplitPath immer gerne genommen wird, nehme ich das doch auch :lol:

Kurz eingebaut und klappt auf Anhieb.
Ich kannte SplitPath noch gar nicht und habe es bei meiner Suche vorher entweder überlesen oder hatte eine Finde-Allergie oder so ...
Auf jeden Fall ist das Thema gelöst.
Danke Euch Beiden!

Re: Dateinamen aus Pfadangabe extrahieren

by BoBo » 22 Jan 2021, 14:31

Dateiname? SplitPath wird immer wieder gerne genommen.

Re: Dateinamen aus Pfadangabe extrahieren

by KHA » 22 Jan 2021, 14:19

Ich weiß nicht, ob ich dich richtig verstehe,

Mit

Code: Select all

Loop, Files, DateiMuster , Modus
https://ahkde.github.io/docs/commands/LoopFile.htm
Mit Variable A_LoopFileName und A_LoopFileTimeModified hast du immer den aktuelle Dateinamen und die letzte Änderungsdatum

Dateinamen aus Pfadangabe extrahieren

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

Top