i was wondering how to list just the directory's in a certain directory. i think that it uses the findnextfile and findfile functions but im not really sure. any help would be appriciated. thanks
Hello warren, it seems as if this apis are not very well liked cause I have had a similar question and I just got some small reply. I have a source for listing directories and files in a TXT File but it is far from complete. I have uploaded it to my private homepage server. You can find it here. http://home.t-online.de/home/krause.stefan/ Please wait atleast half an our after my post, so that T-online can update all servers with my files. Hope this code helps you somehow. NOTE1: It is not commented! NOTE2: Part of it is done by Mashh! Thanks Mashh!! So long Happy coding Stefan
Hello warren, just tried to access the server and it is already up. Go and get it! So long Happy coding Stefan
To find all the directorys in a parent directory, you do use FindFirstFile ,FindNextFile, except use a search string of "*". The as each file is found test is attributes for FILE_ATTRIBUTE_DIRECTORY . (Note the parent directory is defined by the currect directory. See help on SetCurrentDirectory or you could use the search string "c:\dir1\dir2\*")
I'd like to look at this code. I tried your site but I cannot find the file to download. Is it still online?
I've got this piece of code that does something similar of what you asked for.. it's used to write on a socket(remoteDescriptor), but you can easily change it.. param1 is the directory you want to to look into(es c:\test\*.*) .data? hsearch dd ? infos WIN32_FIND_DATA > infos2 WIN32_FIND_DATA > .data sep db 13, 10,0 ; carriage, linefeed, zero dirsep db ' ', 13, 10, 0 .code invoke lstrlen, ADDR param1 invoke szMid, ADDR param1, ADDR zero, 1, eax invoke FindFirstFile, ADDR zero, ADDR infos mov hsearch, eax .if infos.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY invoke lstrcat, ADDR infos.cFileName, ADDR dirsep invoke lstrlen, ADDR infos.cFileName INVOKE send, remoteDescriptor, ADDR infos.cFileName , eax, 0 .else invoke lstrcat, ADDR infos.cFileName, ADDR sep invoke lstrlen, ADDR infos.cFileName INVOKE send, remoteDescriptor, ADDR infos.cFileName , eax, 0 .endif INVOKE FindNextFile, hsearch, ADDR infos2 ciclo: .if infos2.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY invoke lstrcat, ADDR infos2.cFileName, ADDR dirsep invoke lstrlen, ADDR infos2.cFileName INVOKE send, remoteDescriptor, ADDR infos2.cFileName , eax, 0 .else invoke lstrcat, ADDR infos2.cFileName, ADDR sep invoke lstrlen, ADDR infos2.cFileName INVOKE send, remoteDescriptor, ADDR infos2.cFileName , eax, 0 .endif mov infos2.cFileName, "," INVOKE FindNextFile, hsearch, ADDR infos2 cmp eax, 0 jne ciclo invoke FindClose, hsearch
I use this method, but this code doesn't see 'Mes Documents' (french os) and 'Program Files' as directory... any idea (s)