recursion limit when creating file list of harddrive

JB sundown at pacifier.com
Fri Oct 30 15:21:36 EDT 2015


When I set the depth to 1  all I would get
is the pWhatFolder but 2 would list the
files at level 1.

JB


> On Oct 30, 2015, at 5:57 AM, Peter M. Brigham <pmbrig at gmail.com> wrote:
> 
> Here is a version that puts the trailing "/" on folders and adjusts the input parameters for the function.
> 
> -- Peter
> 
> Peter M. Brigham
> pmbrig at gmail.com
> http://home.comcast.net/~pmbrig
> 
> --------------
> 
> function directoryListing pWhatFolder, pInvisibleFiles, pDepth
>   -- returns a full listing of the files/folders in a given folder
>   -- pass pInvisibleFiles = true if you want to list invisible files
>   --    if false or no value passed, then will list only visible files
>   -- pDepth is the maximum depth you want to penetrate to
>   --    if no value passed, then will list all files at all depths
> 
>   if pInvisibleFiles = empty then put false into pInvisibleFiles
>   if pDepth = empty then put 0 into pDepth
>   if char -1 of pWhatFolder <> "/" then put "/" after pWhatFolder
>   put pWhatFolder & cr into R
>   set the directory to pWhatFolder
>   if pDepth = 1 or the result is not empty then return R
>   put the files into tFileList
>   sort tFileList
>   replace cr with cr & pWhatFolder in tFileList
>   put pWhatFolder & tFileList & cr after R
>   put line 2 to -1 of the folders into tDirList
>   sort tDirList
>   repeat for each line L in tDirList
>      put directoryListing((pWhatFolder & L),pInvisibleFiles,pDepth-1) after R
>   end repeat
>   if not pInvisibleFiles then
>      filter R without "*/.*"
>   end if
>   return R
> end directoryListing
> 
> On Oct 29, 2015, at 8:49 AM, Geoff Canyon wrote:
> 
>> "there is a folder" and "there is a file" can distinguish between the two.
>> Obviously if you want to distinguish visually for the user, or to do it
>> without testing, then including the trailing "/" would work.
>> 
>> On Wed, Oct 28, 2015 at 1:51 PM, Michael Doub <mikedoub at gmail.com> wrote:
>> 
>>> When I saw that the output contained both directories and files, adding
>>> the "/" allows you to
>>> easily know that you are looking at a folder rather than a file.
>>> 
>>> put directoryListing(whatfolder) into foo
>>> repeat for each line x of foo
>>> if char -1 of x = "/" then
>>>    put x & cr after directoryList
>>> else
>>>    put x & cr after fileList
>>> end if
>>> 
>>> Given a random path that could be either a directory or a file, is there a
>>> clever way to tell what you have?
>>> 
>>> -= Mike
>>> 
>>> 
>>> On 10/28/15 10:55 AM, Geoff Canyon wrote:
>>> 
>>>> The trailing "/" is an interesting point. I checked and the "set the
>>>> directory" command will happily take a trailing "/" or not, but when you
>>>> "put the directory" you get no trailing "/"
>>>> 
>>>> Given that, I'd probably leave it as is, and always assume that the
>>>> description of a particular directory needs to have the "/" added when
>>>> adding a filename or directoryname to it.
>>>> 
>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 





More information about the use-livecode mailing list