on 8/27/02 12:55 PM, Ken Ray at [EMAIL PROTECTED] wrote: > I wrote a quick little "directorywalker" stack that does this, and reports > back whether it is a file (optionally along with its type) or a folder, and > (optionally) indents the hierarchy. It was for Windows files only (so > there's no Mac type/creator checking), but here's the script: > > -- Card controls: [X] Show Hierarchy, [X] Show Type, [popup menu > "Delimiters" - had "Spaces (2)", "Spaces (4)" or "Tabs" as choices > -- Field 1 holds the result > > global gHierList,gMainFolder,gBaseLevels > > on mouseUp > put "" into gHierList > answer folder "Pick a folder you want to walk:" > if it = "" then exit mouseUp > set the itemDel to "/" > put it into gMainFolder > put the number of items of gMainFolder into gBaseLevels > directoryWalk gMainFolder,(the hilite of btn "ShowHierarchy"),(the > selectedText of btn "Delimiters"),(the hilite of btn "ShowType") > put gHierList into field 1 > end mouseUp > > on directoryWalk whatFolder,showHier,pDel,showType > set the itemDel to "/" > if "(2)" is in pDel then put 2 into numSpcs > else put 4 into numSpcs > put " " into spcPad > set the directory to whatFolder > if showHier then > put ((the number of items of whatFolder)) - gBaseLevels into numLevels > if pDel <> "tabs" then > do "put format(" & quote & "%" & (numLevels*numSpcs) & "s" & quote & > "," & quote & quote & ") into tPad" > else > do "put format(" & quote & "%" & (numLevels) & "s" & quote & "," & > quote & quote & ") into tPad" > replace " " with numToChar(9) in tPad > end if > put last item of whatFolder into tFolderName > if showType then put numToChar(9) & "folder" after tFolderName > if numLevels <> 0 then > put tPad & tFolderName into line (the number of lines of gHierList)+1 > of gHierList > else > put tFolderName into line (the number of lines of gHierList)+1 of > gHierList > end if > end if > put the files into temp > sort temp > repeat with x = 1 to the number of lines of temp > if not(showHier) then > put whatFolder & "/" & (line x of temp) into line (the number of lines > of gHierList)+1 of gHierList > else > put whatFolder & "/" & (line x of temp) into tPath > put ((the number of items of tPath)) - gBaseLevels into numLevels > if pDel <> "tabs" then > do "put format(" & quote & "%" & (numLevels*numSpcs) & "s" & quote & > "," & quote & quote & ") into tPad" > else > do "put format(" & quote & "%" & (numLevels) & "s" & quote & "," & > quote & quote & ") into tPad" > replace " " with numToChar(9) in tPad > end if > put line x of temp into tFile > if showType then put addFileType(tFile) into tFile > if numLevels <> 0 then > put tPad & tFile into line (the number of lines of gHierList)+1 of > gHierList > else > put tFile into line (the number of lines of gHierList)+1 of > gHierList > end if > end if > end repeat > put the directories into tDirList > sort tDirList > repeat with x = 2 to the number of lines of tDirList > directoryWalk (whatFolder & "/" & (line x of > tDirList)),showHier,pDel,showType > end repeat > end directoryWalk > > function addFileType what > put offset(".",what) into tChar > if tChar <> 0 then > put char tChar to length(what) of what into tExt > put > queryRegistry("HKEY_CLASSES_ROOT\"&(queryregistry("HKEY_CLASSES_ROOT\"&tExt& > "\")) & "\") into tType > else > put "" into tType > put "" into tExt > end if > if tType = "" then > if tExt <> "" then > delete char 1 of tExt -- remove "." > put toUpper(tExt) && "File" into tType > else > put "File" into tType > end if > end if > return what & numToChar(9) & tType > end addFileType > > > Hope this helps, > > Ken Ray > Sons of Thunder Software > Email: [EMAIL PROTECTED] > Web Site: http://www.sonsothunder.com/ > > > ----- Original Message ----- > From: "Scott Rossi" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, August 27, 2002 2:17 PM > Subject: Get a List of Files > > >> How might one get a list of all files from a folder which contains nested >> folders and files several levels deep? >> >> folder1 >> --> file1 >> --> file2 >> --> file3 >> --> folderA >> ------> file1 >> ------> file2 >> ------> folderX >> ----------> file1 >> ----------> file2 >> ------> file 3 >> --> file4 >> >> Thanks & Regards, >> >> Scott Rossi >> Creative Director >> Tactile Media, Multimedia & Design >> ----- >> E: [EMAIL PROTECTED] >> W: http://www.tactilemedia.com >> >> _______________________________________________ >> metacard mailing list >> [EMAIL PROTECTED] >> http://lists.runrev.com/mailman/listinfo/metacard >> > > _______________________________________________ > metacard mailing list > [EMAIL PROTECTED] > http://lists.runrev.com/mailman/listinfo/metacard >
Thanks Ken!!! Real handy thing to have. Ray Horsley Developer, LinkIt! Software _______________________________________________ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard