FileExists funktioniert nicht

  • Fileexists, Fileopen und Filecopy bringen immer ReturnCode "nicht 0".

    Einfaches Beispiel:

    Global $FPath

    Global $File

    $FPath = "C:\Users\mail\Desktop"

    $File = "TextDir.txt"

    If FileExists($FPath & "\" & $File) Then

    MsgBox(0, "", "File Found")

    Else

    MsgBox(0, "", "File not Found")

    EndIf

    If FileExists(@DesktopDir & "\" & $File) Then

    MsgBox(0, "", "File Found")

    Else

    MsgBox(0, "", "File not Found")

    EndIf

    Die TextDir.txt habe ich nach Desktop kopiert.

    Das Script bringt in beiden Fällen "not Found".

    (Windows 10, AutoItVersion = 3.3.15.0)

    Das muss wohl ein sehr dummer Fehler bei mir sein.

    Bitte helft mir.

    Sonnige Frühlingsgrüße

    Friedhelm

  • Was ergibt folgendes Skript :

    Grufti39

    EDIT : Bei einer Datei geht es auch :

    Hast Du ggf. keine ausreichenden Rechte für C:\Users\mail\Desktop

    Dann setze mal #RequireAdmin an den Anfang des Skriptes.

    Gruß Musashi

    Einmal editiert, zuletzt von Musashi (29. Februar 2020 um 15:23)

  • Hallo Musashi.

    Dein Script ergibt in der Console

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\mail\Desktop\Test2.au3" /UserParams

    +>10:06:45 Starting AutoIt3Wrapper v.19.102.1901.0 SciTE v.4.1.2.0 Keyboard:00000407 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0407) CodePage:0 utf8.auto.check:4

    +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\mail\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\mail\AppData\Local\AutoIt v3\SciTE

    >Running AU3Check (3.3.14.5) from:C:\Program Files (x86)\AutoIt3 input:C:\Users\mail\Desktop\Test2.au3

    +>10:06:45 AU3Check ended.rc:0

    >Running:(3.3.14.5):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\mail\Desktop\Test2.au3"

    +>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop

    C:\Users\mail\Desktop\Testatei.lnk Link not Found

    +>10:06:46 AutoIt3.exe ended.rc:0

    +>10:06:46 AutoIt3Wrapper Finished.

    >Exit code: 0 Time: 0.8306

    also, wenn ich es richtig deute (bin kaum vertraut mit der AutoIt-Console), auch hier Return Code = 0 = "not found".

    An den Rechten habe ich nichts geändert.

    Die Desktop-Macros sind neu für mich.

    Die Lösung muss m.E. bei den Rechten liegen. Ich finde aber nicht heraus, wie und wo.

    Erwartungsvolle Grüße

    Fiedhelm

  • Die Lösung muss m.E. bei den Rechten liegen. Ich finde aber nicht heraus, wie und wo.

    UserDir => C:\Users\mail\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper

    SCITE_USERHOME => C:\Users\mail\AppData\Local\AutoIt v3\SciTE

    Zumindest ein FileExists auf "C:\Users\mail\Desktop" müsste funktionieren.

    (ich verwende Win7 mit AutoIt 3.3.14.2 - aber das kann es eigentlich nicht sein :/)

    Hast Du hier einen Tippfehler ? -> Testatei.lnk ==> Testdatei.lnk

    C:\Users\mail\Desktop\Testatei.lnk Link not Found

    Gehe über den Dateiexplorer von Windows mal in das Verzeichnis C:\Users\mail\Desktop\ und lege dort einen Link zu einer Datei an. Diesen Link prüfe mal mit meinem Skript.

    Irgendwie habe ich das Gefühl, auch etwas triviales zu übersehen (hartes Wochenende :theke:)

    Gruß Musashi