Jump to content

Scan directory help


tony
 Share

Recommended Posts

Hello,

I want to scan a directory for all the files that are part of it. I found in the forum a good easy to implement function and it seems to work fine till I call it again. From the secoid time I call it, it adds to the first find the second finds no matter what I do. I tried to delete the array in between but it doesn't work. There is something I am missing but I can't figure out what.

Any idea??

Thanks a lot

CODE

#include <Array.au3>

#Include <File.au3>

Local $aRetArray

Local $path = "c:\WINDOWS\system"

Local $sFindFile = "*"

Local $sRet

$aRetArray = _FindPathName($path, $sFindFile)

_ArrayDisplay($aRetArray)

For $i = 1 To UBound($aRetArray)-1

_ArrayDelete ($aRetArray,$i)

Next

$aRetArray = _FindPathName($path, $sFindFile)

_ArrayDisplay($aRetArray)

Func _FindPathName($sPath, $sFindFile)

Local $sSubFolderPath, $iIndex, $aFolders, $search,$aFoldersSubs

$search = FileFindFirstFile($sPath & "\" & $sFindFile)

$aFolders = _FileListToArray($sPath, "*", 2)

While 1

$file = FileFindNextFile($search)

If @error Then

ExitLoop

Else

$sRet &= $sPath & "\" & $file & "|"

EndIf

WEnd

FileClose($search)

For $iIndex = 1 To $aFolders[0]

$sSubFolderPath = $sPath & "\" & $aFolders[$iIndex]

$aFoldersSubs = _FileListToArray($sSubFolderPath, "*", 2)

If IsArray($aFoldersSubs) Then _FindPathName($sSubFolderPath, $sFindFile)

Next

Return StringSplit(StringTrimRight($sRet,1), "|")

EndFunc ;==>_FindPathName

Link to comment
Share on other sites

  • Moderators

tony,

You are not emptying $sRet after each pass through the function. So each time you call it, you add another list to the end. Just put $sRet = "" after each call to your function.

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

 

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...