MatheFreak Posted December 29, 2008 Share Posted December 29, 2008 In AutoIt I can ask if a file exists. How can I do this in AutoItX3? (... without using WinShell!) Link to comment Share on other sites More sharing options...
ProgAndy Posted December 29, 2008 Share 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 Link to comment Share on other sites More sharing options...
MatheFreak Posted December 29, 2008 Author Share 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. Link to comment Share on other sites More sharing options...
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