MatheFreak Posted December 29, 2008 Posted December 29, 2008 In AutoIt I can ask if a file exists. How can I do this in AutoItX3? (... without using WinShell!)
ProgAndy Posted December 29, 2008 Posted December 29, 2008 You could use FileGetAttributes: Func _FileExists($fileName) Local $Ret = DllCall("Kernel32.dll","int","GetFileAttributesW","wstr","\\?\" & $fileName) Return $Ret[0]<>-1; GetFileAttributesW return -1 if an error occurs EndFunc MsgBox(0, '', _FileExists(@AutoItExe)) MsgBox(0, '', _FileExists("D:\File\Not\Exists___rew")) *GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes
MatheFreak Posted December 29, 2008 Author Posted December 29, 2008 Func _FileExists($fileName) Local $Ret = DllCall("Kernel32.dll","int","GetFileAttributesW","wstr","\\?\" & $fileName) Return $Ret[0]<>-1; GetFileAttributesW return -1 if an error occurs EndFuncThanks! It works fine with: Set fso = CreateObject("Scripting.FileSystemObject") fso.FileExists(YourFileName) But I'ld like to get rid of all those Kernel and SystemObjects stuff. And I wonder why it works in AutoIt, but not AutoItX3.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now