Junio 19, 2018, 09:25:46 pm

Autor Tema: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)  (Leído 10568 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado SEKTOR

  • Si te metes con CPH
    te metes conmigo
  • ****
  • Mensajes: 1551
  • Sexo: Masculino
  • ๑۩۞۩๑ Mortal Kombat World Champion ๑۩۞۩๑
    • Ver Perfil
Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« en: Abril 12, 2010, 04:06:41 am »
con esta aplicacion podremos buscar archivos en C con _findfirst, _findnext, _findclose.

puede buscar cualquier archivo, tanto ocultos como protegidos del systema.

carpetas, imagenes, musica, etc... tan solo con poner su extension o su nombre completo en Filemask (wildcard)

FileMask Disponibles:

*.* = Busca todos los archivos.  ( .exe, .png, .mp3, carpetas )  

? = Busca el primer caracter.  ( a )

?? = Busca dos caracteres.  ( ab )

?.? = Busca un archivo con un caracter en su nombre y con una caracter en su extension( a.x )

??.? ? ? = Busca un archivo con dos caracteres y con tres caracteres en su extencion ( so.exe )

*.exe = Busca archivos .exe ( virus.exe, avira.exe )

*.m* = Busca archivos que su extension comience con "m" ( archivo.mpeg, miercoles.mp4, meri.mp3, etc )

arch*.* Busca archivos que comiencen con arch ( archivo.jpg, archivaldo.exe, archivocarpeta)

*exp?.exe = Busca todos los archivos que contengan la palabra exp y con extencion .exe ( texposicion.exe, rexp.exe, etc...)

doc???.xls = Busca todos los archivos que comiencen con doc y tengan 3 caracteres màs y la extencion .xls  ( documentoabc.xls, documento123.xls, documento-xp.xls, etc..)

./ = Busca archivos en la carpeta actual donde esta el .exe


Se pueden combinar todas las filemask entre ellas, para busquedas a medida


este code en particular trabaja con la filemask *.*, que hace que muestre todos los archivos y carpetas de un directorio:
Código: (c) You are not allowed to view links. Register or Login
#include <stdlib.h>
#include <io.h>
int main(int argc, char *argv[])
{
  
  struct _finddata_t arch;
long result;


if ( (result = _findfirst("C:/*.*", &arch)) == -1L )
printf("No se encontraron archivos");
else
{
do
{
printf("%s\n", arch.name);


} while ( _findnext(result, &arch) == 0 );
_findclose(result);

}
getchar();
  return 0;
}

La salida es:
Mis documentos
mi imagen.png
musica.mp3
autoexec.bat
class.sys
termi.ini
clerru.com
etc...


Este code Busca todos los archivos .exe
Código: (c) You are not allowed to view links. Register or Login
#include <stdlib.h>
#include <io.h>
int main(int argc, char *argv[])
{
  
  struct _finddata_t arch;
long result;


if ( (result = _findfirst("C:/*.exe", &arch)) == -1L )
printf("No se encontraron archivos");
else
{
do
{
printf("%s\n", arch.name);


} while ( _findnext(result, &arch) == 0 );
_findclose(result);

}
getchar();
  return 0;
}

La salida es:
Mi programa.exe
otro programa.exe
virus.exe
msgr.exe
firefox.exe


saluOX
« Última modificación: Mayo 16, 2010, 06:51:25 pm por SEKTOR »

Desconectado malestrom

  • Me das tu IP?
  • *
  • Mensajes: 37
  • Sexo: Masculino
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #1 en: Julio 11, 2010, 10:50:37 am »
Muy buen post muchas gracias !

Desconectado ridomil

  • Me das tu IP?
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #2 en: Julio 26, 2010, 03:24:55 am »
me da el siguiente error error: storage size of ‘arch’ isn’t known

Es una debian GNU linux y el compilador el gcc en modo consola. Para que pillase la io.h, la he especificado como #include <sys/io.h> , pero este error que sale no tengo muy claro porque es... Un saludo.

Desconectado myguestp

  • Yo vivo en CPH
  • ***
  • Mensajes: 1469
  • A storm comin that the weatherman couldn’t predict
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #3 en: Julio 26, 2010, 04:48:09 am »
es io.h, no sys/io.h, a mi con sys/io.h no me funciona y con io.h si que me funciona

You are not allowed to view links. Register or Login

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #4 en: Julio 26, 2010, 06:51:24 am »

En Linux no creo.

Tratar el sistema de archivos es diferente de linux a windows. Se puede encontrar un denominador común con el compilador de gnu utilizando dirent.h pero con visual C no funca.

SaludOS
Is the truth out there?

Desconectado ridomil

  • Me das tu IP?
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #5 en: Julio 26, 2010, 07:21:03 am »
por algun lado estan implementadas estas funciones para linux tambien, me seria muy util algo parecido a esto, pero de momento no encuentro solucion, el error es como si pidiera una reserva de memoria dinamica, es un poco raro

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re: Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #6 en: Julio 26, 2010, 09:48:28 am »
Implementa tus propias funciones de búsqueda.

Aquí tienes un recorrido recursivo por la rama de directorios que indiques:

Código: (c) You are not allowed to view links. Register or Login
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <dirent.h>

void read ( char* ruta )
{
char apath[1024];
DIR * dir;
struct dirent * entrada;
struct stat attribut;
int result;

if ( ( dir = opendir ( ruta ) ) != NULL )
{       
while( ( entrada = readdir ( dir ) ) != NULL )
{
memset ( apath, '\0', sizeof ( apath ) );
strcpy ( apath, ruta );
strcat ( apath, "/" );
strcat ( apath, ( char * ) entrada->d_name );

if ( strcmp ( ( char * ) entrada->d_name, "." ) != 0 && strcmp ( ( char* ) entrada->d_name, ".." ) != 0 )
printf( "%s\n", apath );

if ( stat( apath, &attribut ) == -1 )
                printf( "Error con stat(%s)\n", apath );

else if ( ( attribut.st_mode & S_IFDIR ) && strstr( apath, "." ) == NULL )
read( apath );
}
} else printf ( "Error con opendir(%s)\n", ruta );

closedir ( dir );
}

int main ( int argc, char* argv[] )
{
if ( argc > 1 )

printf ( "%s\n", argv[1] );
read ( argv[1] );
} else printf ( "Utiliza así: %s directorio\n", argv[0] );
return 0;
}

Se tiene que depurar, ya que si se entra como argumento un punto o un archivo oculto ( que empieza por punto ) no lo hace recursivo ( la depuración está en la comparación para saber si se trata de . o de .. )

SaludOS

Desconectado melissafune

  • Me das tu IP?
  • *
  • Mensajes: 2
  • Sexo: Femenino
  • Yo AMO a pOrtal HAcker!
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #7 en: Junio 05, 2012, 11:00:34 pm »
hola... la verdad no logro correr el programa y me seriviria de mucho... me dice que no reconoce el findfirst y todas las funciones... el programa en que lo estoy corriendo en borland c++ y el programa esta en c.. me ayudarian a pasarlo a c++??? gracias

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #8 en: Junio 06, 2012, 07:51:39 am »
Borland C es del milenio pasado. Ponte un poco al día. Utiliza MinGW o Visual C

Desconectado luisray1

  • CPQUE??
  • *
  • Mensajes: 1
  • Sexo: Masculino
  • Yo AMO a pOrtal HAcker!
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #9 en: Junio 06, 2012, 07:25:14 pm »
y como puedo poner el directorio general para que busque en todos los archivos planos de los directorios en cada carpeta?
« Última modificación: Junio 06, 2012, 09:00:46 pm por luisray1 »

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #10 en: Junio 06, 2012, 09:54:21 pm »
Busca en foro You are not allowed to view links. Register or Login, encontrarás que esto ya se ha echo varias veces.

Cómo hacerlo, mira este documento

MANEJO DE DIRECTORIOS Y FICHEROS ESPECIALES
You are not allowed to view links. Register or Login

SaludOS

Desconectado kinkarra89

  • Me das tu IP?
  • *
  • Mensajes: 2
  • Sexo: Masculino
  • Yo AMO a pOrtal HAcker!
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #11 en: Julio 12, 2012, 10:41:29 am »
Tengo una duda, como colocar un nombre para buscar un archivo determinado con ese nombre

Muchas gracias
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado .xAk.

  • el engendro
  • Moderador
  • *****
  • Mensajes: 7316
  • Sexo: Masculino
  • F0r3v3R NeWbI3
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #12 en: Junio 22, 2013, 07:28:45 am »
touch

Desconectado pastelito232323

  • Me das tu IP?
  • *
  • Mensajes: 2
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #13 en: Noviembre 11, 2014, 03:26:22 pm »
Hola, que tal , podrían ayudarme con mi proyecto, bueno solo una parte que no se como hacer. Estoy haciendo un tipo shell, pero me falta hacer un programita para simular el comando <<find>> de openBSD, me ayudan? por favor

Desconectado seth

  • El mas real
  • G#
  • **
  • Mensajes: 7935
  • Sexo: Masculino
    • Ver Perfil
Re:Buscar archivos en C (.exe, .png, carpetas, .mp3, etc..)
« Respuesta #14 en: Noviembre 11, 2014, 11:13:16 pm »
hace un post nuevo


Ves links a xd-blog.com.ar que no andan? buscalos en You are not allowed to view links. Register or Login


xx
Buscar archivos

Iniciado por eriik

3 Respuestas
1135 Vistas
Último mensaje Marzo 10, 2008, 01:39:36 am
por eriik
xx
[Manual] Buscar archivos con VB

Iniciado por Mace Windu

0 Respuestas
2387 Vistas
Último mensaje Marzo 11, 2009, 11:20:32 am
por Mace Windu
resuelto
[S]Como buscar archivos .exe?

Iniciado por DAMA$ GRATI$

15 Respuestas
9038 Vistas
Último mensaje Noviembre 26, 2009, 09:20:46 pm
por DAMA$ GRATI$
exclamation
Buscar una cadena de texto en archivos

Iniciado por Avoidance25

1 Respuestas
1529 Vistas
Último mensaje Febrero 20, 2012, 10:26:45 am
por linkgl
question
buscar archivos remoto sin common dialog?

Iniciado por xra

1 Respuestas
1506 Vistas
Último mensaje Enero 31, 2013, 08:36:05 am
por mDrinky
xx
(Duda find) Buscar archivos sin extensión

Iniciado por j4ps0n

5 Respuestas
2374 Vistas
Último mensaje Febrero 08, 2012, 02:11:55 pm
por j4ps0n
xx
Buscar texto en archivos de todos los directorios...

Iniciado por laideker

5 Respuestas
1986 Vistas
Último mensaje Abril 10, 2012, 09:27:16 pm
por laideker
xx
[C#] Listar Archivos y Carpetas

Iniciado por kicasta

0 Respuestas
5533 Vistas
Último mensaje Febrero 07, 2012, 10:51:45 am
por kicasta
resuelto
Manejo de Archivos y Carpetas

Iniciado por Mr.Lerzep

5 Respuestas
2965 Vistas
Último mensaje Octubre 16, 2010, 06:16:24 pm
por Mr.Lerzep
xx
Borrar archivos y carpetas

Iniciado por DNS

4 Respuestas
1954 Vistas
Último mensaje Diciembre 13, 2006, 09:45:10 pm
por Microchip