Jump to content
Sign in to follow this  
bobbintb

FileFindFirstFile and directories

Recommended Posts

bobbintb

I am trying to use this to find a directory with a wildcard. If i use "*.*" i get only files. if i use "*" i get files and directories. how can i get just directories?

Share this post


Link to post
Share on other sites
Melba23

bobbintb,

You need to use "*" and check if the returned value is a folder. The way to do this differs between 3.3.0.0 and the Betas:

; 3.3.0.0
$sName = FileFindNextFile($hSearch)
If @error Then ExitLoop ; End of folder
; Check if folder
If StringInStr(FileGetAttrib($sCurrentPath & $sName), "D") And ($sName <> "." Or $sName <> "..") Then $fFolder = 1

; Betas
$sName = FileFindNextFile($hSearch)
; Check for end of folder
If @error Then ExitLoop
; Check for subfolder - @extended set in 3.3.1.1 +
$fFolder = @extended

These snippets will set the $fFolder flag to 1 for a folder, 0 for a file. Over to you to deal with the next part!

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
bobbintb

huh. i had no idea there was a flag for that. Thank you. i will try that. but is there any documentation on $fFolder? i cannot seem to find anything in the help files.

Share this post


Link to post
Share on other sites
Melba23

bobbintb,

$fFolder is a variable that you need to declare in your script. Sorry, I thought that would be clear from the context. :)

Of course, you can write your script so that you do not need a variable and just test @Extended or the longer If statement directly.

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
bobbintb

bobbintb,

$fFolder is a variable that you need to declare in your script. Sorry, I thought that would be clear from the context. :)

Of course, you can write your script so that you do not need a variable and just test @Extended or the longer If statement directly.

M23

it was clear after a second look. just really tired today. :) thanks again!

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×