directorio pasándole la extensión. El problema es que cuando llega a la carpeta de
Volume System Information se detiene el script porque no tiene permisos... ¿Cómo puedo
hacer para evitar leer esa carpeta...? Este código lo copie, no es mio.
Using perl Syntax Highlighting
- my $DIR = 'D:/test/';
- my $EXTENSION = '.txt';
- my $COUNTER = 0;
- buscador($EXTENSION,$DIR,\$COUNTER);
- print "\nTotal de archivos *.$EXTENSION en directorio $DIR : $COUNTER\n";
- <STDIN>;
- sub buscador
- {
- my ($ext,$dir,$ref_total) = @_;
- opendir(DIR,$dir) || die "# buscador : no puedo abrir $dir\n";
- my @nodos = grep(!/^\./, (sort(readdir(DIR))));
- #guarda todos los archivos en @nodos a excepcion de ocultos, . y .. ordenados
- closedir(DIR);
- foreach my $nodo (@nodos)
- {
- $nodo = $dir.'/'.$nodo;
- $nodo =~ s/\/\//\//g; # evita dobles //
- if(-d $nodo) # recursion para subdirectorios internos
- {
- buscador($ext,$nodo,$ref_total);
- }
- elsif($nodo =~ m/$EXTENSION$/)
- {
- print "$nodo\n";
- $$ref_total++;
- }
- }
- }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4