List Folders in a Directory
Quote from Forum Archives on July 3, 2010, 3:15 amPosted by: kshmidheiser <kshmidheiser@...>
Iterates folders in a given directory.Ken
include "ConsoleWindow"
BeginCFunction
CFStringRef ArrayOfFoldersInFolder( CFStringRef directoryToExamine ) {NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *files = [fm directoryContentsAtPath:(NSString *)directoryToExamine];
NSMutableArray *directoryList = [NSMutableArray arrayWithCapacity:10];
for(NSString *file in files)
{
NSString *path = [(NSString *)directoryToExamine
stringByAppendingPathComponent:file];
BOOL isDir = NO;
[fm fileExistsAtPath:path isDirectory:(&isDir)];
if(isDir)
{
[directoryList addObject:file];
}
}
NSString *result = [[directoryList valueForKey:@"description"]
componentsJoinedByString:@"
"];
[result retain];
[pool drain];
return (CFStringRef )result;
}
EndC
toolbox fn ArrayOfFoldersInFolder( CFStringRef ) = CFStringRefdim as CFStringRef foldersInDirectory
foldersInDirectory = fn ArrayOfFoldersInFolder( @"/Library/" )
long if ( foldersInDirectory )
fn HIViewSetText( sConsoleHITextView, foldersInDirectory )
CFRelease( foldersInDirectory )
end ifRunApplicationEventLoop()
Posted by: kshmidheiser <kshmidheiser@...>
Ken
include "ConsoleWindow"
BeginCFunction
CFStringRef ArrayOfFoldersInFolder( CFStringRef directoryToExamine ) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *files = [fm directoryContentsAtPath:(NSString *)directoryToExamine];
NSMutableArray *directoryList = [NSMutableArray arrayWithCapacity:10];
for(NSString *file in files)
{
NSString *path = [(NSString *)directoryToExamine
stringByAppendingPathComponent:file];
BOOL isDir = NO;
[fm fileExistsAtPath:path isDirectory:(&isDir)];
if(isDir)
{
[directoryList addObject:file];
}
}
NSString *result = [[directoryList valueForKey:@"description"]
componentsJoinedByString:@"
"];
[result retain];
[pool drain];
return (CFStringRef )result;
}
EndC
toolbox fn ArrayOfFoldersInFolder( CFStringRef ) = CFStringRef
dim as CFStringRef foldersInDirectory
foldersInDirectory = fn ArrayOfFoldersInFolder( @"/Library/" )
long if ( foldersInDirectory )
fn HIViewSetText( sConsoleHITextView, foldersInDirectory )
CFRelease( foldersInDirectory )
end if
RunApplicationEventLoop()