• Hallo zusammen,

    bisher habe ich eine Filecopy Funktion vermisst, die wie das Standard FileCopy funktioniert, aber nicht bei Konflikten mit einer vorhandenen Zieldatei scheitert. Insbesondere sollte beim Kopieren - analog zum Explorer - die Option bestehen einfach die neue Zieldatei um ein "... (n)" vor der Extension zu ergänzen.
    Deshalb stelle ich hier meine private UDF zur Diskussion.

    Der Aufruf erfolgt mit _SaveFileCopy() mit exakt den gleichen Parametern wie das Standard Filecopy.
    Die Routine berücksichtigt auch Jokersysmbole beim Dateinamen und wirkt wenn Flag=1 oder 9 als Wrapper für die normale FileCopy() Funktion. Ansonsten scheitert die Funktion nicht, wenn die Zieldatei schon vorhanden ist, sondern kopiert statt dessen nach "Dateiname (n).Extension" (n=2 oder größer falls eine Datei mit diesem Namen schon existiert).

    Die Hilfsfunktion _SaveCopySingleFile() kopiert eine eine einzelne Datei und unterstützt keine Wildcards. Die Funktion wird für den Kopiervorgang einer einzelnen Datei von _SaveFileCopy() aufgerufen.

    Die Hilfsfunktion _CompletePath() ist ein Wrapper für _PathFull() aus der File.au3 UDF. Im Gegensatz zu _PathFull() muß hier der übergegeben Parameter kein relativer Pfad sein. Man muß keine Fallunterscheidungen beim Parameter mehr machen, sondern man erhält von der Funktion immer einen absolut adressierten Pfad.
    Übergebene Pfade die von der Root adressieren - aber ohne Laufwerksbuchstaben - werden um den Laufwerkbuchstaben des WorkingDirectories ergänzt. Übergebene absolute Pfade mit Laufwerkbuchstaben oder in UNC-Notation werden nicht ergänzt.

    Peter