That is a good question.  The way I found out it was limited is
I was using the code supplied in the File Lister 2 tutorial.  I was
accessing a folder with a lot of files and subfolders but I do not
think it had 400,000 files and sub folders in it so I am thinking it
is limited to 400,000 recursive attempts.  What happened is the
script quit while trying to access the files and sub folders and a
dialog appeared and said recursive is limited to 400,000.  That
is worse than being limited to 400,000 files and folders.

I think we need to have the NSFIleManager.

I have Xcode examples and I was going to try to write an extension
since Trevor provided the link for Objective-C externals but I have
Mavericks and the latest version of Xcode.  I also have xcide 2.4 on
this computer and it runs but when I try to compile using the code
from Trevor it says something about I can’t use it with this version
of OS X or whatever I do not remember, any way it makes me think
I need to set up my old system to compile unless someone knows
how to make it work with the latest Xcode and then I will probably
need all of the older SDK software too.  Since I really am not very
familiar with any of the above yet I am working on other parts of
my program but I will eventually work on putting it all together.

With the NSFIleManager I would think we would be able to access
directories as fast as Apple since they wrote the code.  It looks like
it will be pretty       easy once I figure a few thing out and write a couple
of sample externals with Objective-C.  There is not much to using
the NSFileManager itself from what I have seen.

John Balgenorth
 
On Sep 29, 2014, at 4:10 PM, Alex Tweedly <a...@tweedly.net> wrote:

> "recursive is limited to 400,000" ? Is that 400,000 files, or folders, or ??
> 
> The File Walker link (i.e. 
> http://www.sonsothunder.com/devres/livecode/tips/file007.htm ) should work - 
> it would be very interesting to find out why it doesn't (maybe URL encoding 
> of the file names??)
> 
> However, it too is recursive. Here's a non-recursive version of it, which is 
> somewhat faster in some cases: (be careful testing this - you need to run it 
> repeatedly to avoid file-system caching effects).
> 
> 
> on dirWalk whatFolder
>   local temp, tCount, tDirList, tDirsToDo
>   set the itemDel to "/"
>   set the directory to whatFolder
>   put whatfolder &CR into tDirsToDo
>   repeat forever
>      put line 1 of tDirsToDo into whatFolder
>      set the directory to whatFolder
>      delete line 1 of tDirsToDo
>      put the files into temp
>      add the number of lines of temp to tCount
>      sort temp
>      repeat for each line x in temp
>         put whatFolder & "/" & x & cr after gHierList
>      end repeat
>      put the folders into tDirList
>      sort tDirList
>      delete line 1 of tDirList
>      repeat for each line x in tDirList
>         put whatFolder & "/" & x & CR after tDirsToDo
>      end repeat
>      if the number of lines in tDirsToDo = 0 then exit repeat
>   end repeat
> end dirWalk
> 
> -- Alex.
> 
> On 29/09/2014 18:10, JB wrote:
>> Here is a link for a file and folder lister
>> that uses recursive.
>> 
>> http://lessons.runrev.com/m/4071/l/17080-files-and-folders-part-2
>> 
>> It appears recursive is limited to 400,000.
>> 
>> As for the File Walker link I tried it in one of
>> my folders that has a lot of files and subfolders
>> and it did not work for me but it did in other
>> folders.
>> 
>> If you get one that works please post it.
>> 
>> John Balgenorth
>> 
>> 
>> 
>> On Sep 29, 2014, at 8:59 AM, Bob Sneidar <bobsnei...@iotecdigital.com> wrote:
>> 
>>> Hi all.
>>> 
>>> I remember reading in a post that someone had made a stack that would walk 
>>> through a file folder and enumerate all the files and folders. I cannot for 
>>> the life of me find it in the Livecode Share site or the forums. I cannot 
>>> search for “list files” or “find all files” because the forum search 
>>> complains the words I am searching for are too simple! <GAAAHHH!>
>>> 
>>> I have written a command to do it and it works up through the files in the 
>>> first folder it finds, but when it comes to going back to a prior recursion 
>>> it does not seem to work. Here is the handler:
>>> 
>>> on enumerateFilesAndFolders theCurrentPath, @theCurrentList
>>>   set the defaultFolder to theCurrentPath
>>>   put the files into theCurrentFileList
>>>   put the folders into theCurrentFolderList
>>>   put theCurrentFileList & theCurrentFolderList into 
>>> theCurrentFilesAndFolders
>>>   filter theCurrentFilesAndFolders without ".*"
>>>   sort theCurrentFilesAndFolders Ascending
>>> 
>>>   repeat for each line theCurrentLine in theCurrentFilesAndFolders
>>>      put theCurrentPath & "/" & theCurrentLine into thePath
>>> 
>>>      if there is a file thePath then
>>>         put thePath & cr after theCurrentList
>>>      else if there is a folder thePath then
>>>         put thePath & “/“ & cr after theCurrentList
>>>         put thePath into theCurrentPath
>>>         enumerateFilesAndFolders theCurrentPath, theCurrentList
>>>      end if
>>>   end repeat
>>> end enumerateFilesAndFolders
>>> 
>>> It seems after the recent iteration is finished, the value of 
>>> theCurrentPath is not reverting to the version of the prior iteration 
>>> instance. In other words, it seems to be global to all instances of the 
>>> iterations of the handler. I was under the distinct impression that each 
>>> iteration had it’s own copies of a given variable because of the implicit 
>>> scoping used by Livecode. Apparently I am mistaken.
>>> 
>>> I would like to see how anyone else has done a file walker.
>>> 
>>> Bob S
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode@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@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@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@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to