|
Here is a hunk of C code like Scott K. was talking about. You may have to fix it up some - I just slapped it together. You can OVRDBF to redirect output to a file if you want. -Marty /*********************************************************************/ /* */ /*********************************************************************/ #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <errno.h> #include <stdio.h> void listdir(char *dirparm); int main(int argc, char *argv[]) { char inparm[201]; if (argc < 2) { fprintf(stderr,"PARM ERROR - NO PATH SPECIFIED"); return 1; } sscanf(argv[1], "%s ", inparm); /* make copy w/ null term */ listdir(inparm); return 0; } void listdir(char *dirparm) { char inparm[1025]; struct stat info; DIR *dir; struct dirent *entry; char path[1025]; sscanf(dirparm, "%s ", inparm); /* make copy w/ null term */ if ((dir = opendir(inparm)) == NULL) perror("opendir() error"); else { /* printf("contents of dir %s:\n", inparm); */ while ((entry = readdir(dir)) != NULL) { sprintf(path, "%s/%s", inparm, entry->d_name); if (stat(path, &info) != 0) { fprintf(stderr, "stat() error on %s: %s\n", path, strerror(errno)); } /* print name only if it is a regular file (no dirs, etc) */ if (S_ISREG(info.st_mode)) /* printf("%s/%s\n", inparm, entry->d_name); */ printf("%s\n", path); /* recurse for dirs, but not . and .. */ if ((S_ISDIR(info.st_mode)) && (entry->d_name[0] != '.')) /* printf("DIR>%s\n", path); */ listdir(path); } closedir(dir); } return; } +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.