daslick Posted May 2, 2007 Share Posted May 2, 2007 I need to be able to tell whether a file exists, folder exists, or neither. FileExists will only tell me if something exists, not whether it is a file or folder... Any help? I'm sure some1 has dealt with this before. Link to comment Share on other sites More sharing options...
daslick Posted May 2, 2007 Author Share Posted May 2, 2007 Nevermind, I think I found a solution. FileGetAttrib("filename") should do the trick. O well, maybe this thread will help someone else. Link to comment Share on other sites More sharing options...
MrCreatoR Posted May 2, 2007 Share Posted May 2, 2007 Hi, You can check even with FileExists(), it's will check folders as well, but if you need to confirm if this is realy a folder, than you can make a litle function: Func _IsFolder($sPath) Return StringInStr(FileGetAttrib($sPath), "D") EndFuncoÝ÷ Øêò¢çf¤zØb±Ø«yËeÊÚç$÷è׫DZËljëh×6Func _FolderExists($sPath) If Not FileExists($sPath) Then Return False Return StringInStr(FileGetAttrib($sPath), "D") EndFunc Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
xcal Posted May 3, 2007 Share Posted May 3, 2007 While returning the position of 'D' in the FileGetAttrib works, it's kind of nonsensical, in my opinion. Func _DirExists($dir) If FileExists($dir) And StringInStr(FileGetAttrib($dir), 'D') Then Return True Return False EndFunc How To Ask Questions The Smart Way Link to comment Share on other sites More sharing options...
MrCreatoR Posted May 3, 2007 Share Posted May 3, 2007 While returning the position of 'D' in the FileGetAttrib works, it's kind of nonsensical, in my opinion.But in owr case we need to check if dir is exists, and we call this func like this: If _FolderExists("C:\") Then ;;;; EndIf If this is folder, then will returned positive number (more then zero (0) - and this is the same as True in this case ), if not, then returned 0, so this is no mether how to check... but for error checking and error returns this function must be expanded... and i has write it just for show how it can be done simple, just to check if given variable/string is a folder . Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
xcal Posted May 3, 2007 Share Posted May 3, 2007 (edited) Oh thanks for the explanation. I didn't understand any of that before. Since the number returned isn't actually relevant to identifying if it's a directory that exists or not, you might as well just return true or false (like I did in my example). I was only giving my opinion and it's not something you need to feel defensive about - or even agree with - there are often many solutions to the same end.I did find it odd how you replied to the original poster with the solution that he had already found on his own, though.edit - spelling, grammar, crap Edited May 3, 2007 by xcal How To Ask Questions The Smart Way 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