Problem mit der Funktion Filecopy

  • Hi,

    Filecopy(Quelle,Ziel,flag)

    wenn bei der Funktion Filecopy die Quelle und das Ziel gleich sind und der Flag 1 beträgt (überschreiben erlaubt), dann wird die Datei endgültig gelöscht und ein Fehler zurückgemeldet. Windows Explorer verweigert in diesem Fall die Ausführung (Meldung: der Quell-. und Zieldateiname sind identisch). Handelt es sich hierbei um einen Bug?

    Gruß, Milko

    PS.: Das obige Beispiel ist eine vereinfachte Darstellung eines komlpizierten Falles in einer Netzwerkumgebung.

    Einmal editiert, zuletzt von milko (10. März 2007 um 07:41)

  • Kein Problem.

    Gehen wir davon aus, dass im Verzeichnis c:\temp eine Datei mit dem Namen "test.txt" existiert. Wenn ich mit autoit den Befehl:

    Filecopy("c:\temp\test.txt","c:\temp\test.txt",1)

    absetze, dann habe ich den Fall, dass die Datei gelöscht und ein Fehler zurückgemeldet wird.

  • :hm:
    kann dein problem leider nicht nachvollziehen...was liefert die funktion als rückgabe wert?? welche fehlermeldung??

    was haste für eine autoit version??

    bei mir funktioniert dein beispiel wunderbar ohne probleme.....

    der snoozer

  • Mein Versäumnis bei der Fehlerbeschreibung, sorry!

    Ich konnte gerade den Fehler nicht mal bei mir reproduzieren :hammer:

    So hier nochmal ein bei mir reproduzierbares Fehlverhalten des Autoit (Version 3.2.2.0):

    $ret=Filecopy("c:\Temp\test.txt",c:\temp\test.txt",1)
    msgbox(0,"Ergebnis",$ret)

    Die Quelle und das Ziel sind gleich, bis auf die Groß-/Kleinschreibung der Buchstabe "T", das gleiche passiert natürlich auch mit der Buchstabe "C" usw.

    Nach der Ausführung ist die Datei "test.txt" gelöscht und $ret ist "0"

    2. Versuch: man gibt den Ordner c:\Temp frei und mountet ihn z.B. unter der Laufwerkbuchstabe Z

    $ret=Filecopy("c:\temp\test.txt",z:\test.txt",1)
    msgbox(0,"Ergebnis",$ret)

    Das gleiche Fehlverhalten. Windows meldet in so einem Fall Folgendes:
    "test kann nicht kopiert werden: Die Datei wird von einer anderen Person bzw. einem anderen Programm verwendet."

    Danke für die Mühe.