Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Borrar archivos con la misma extensión

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Borrar archivos con la misma extensión Responder citando

A ver, la cuestión no es borrar un archivo determinado, lo que quiero hacer es borrar los archivos que se encuentren en una determinada carpeta con una determinada extensión.
por ejemplo :
tengo tres archivos : pep.txt, oiu.xls y moi.txt.

Sólo quiero borrar los de la extensión *.txt independientemente como se llamen.

gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Necesitas un elemento FileListBox. Yo lo hago así:
Código:
FileListBox1->Directory = "A:\\";
FileListBox1->Mask      = "*.txt";
for (int i = 0; i < FileListBox1->Items->Count; i ++)
     DeleteFile(FileListBox1->Directory + FileListBox1->Items->Strings[i]);

En FileListBox1->Directory pones la vía de acceso a la carpeta; acuérdate de que las barras deben ser dobles (C:\\Temp, por ejemplo) y en Mask la máscara que quieres borrar.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Xpto: Fijate en este ejemplo:

https://cppbuilder.es/viewtopic.php?t=5046&highlight=borrar+archivos

te recomiendo usar la opcion buscar del foro. Yo puse "borrar archivos" y aparecieron muchos mensajes con ejemplos diversos. Si hay alguno que encontras y no entendes, podes, por ejemplo, contestar a ese mensaje ya escrito pidiendo ayuda.

saludos
diego
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: vale Responder citando

Voy a mirar los dos.
Muchas gracias y también por lo del Memo, me sirve mucho.
Saludo2
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Ya lo miré Responder citando

Diego ese ya lo miré , lo que necesito es lo que me dice Angel. Estuve mirando estos días lo de borrar archivos pero yo quería concretamente esto(lo de algel).
Gracias
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Todo bien Xpto. Te lo decia porque a veces buscando encontras cosas mas interesantes (o nada) de lo que uno buscaba. Otras veces no es lo que queres pero te orienta en como hacerlo.

saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: No me borra Responder citando

Puse lo de Angel y no me borra, no entiendo el por qué?
si no los tengo abiertos con ninguna aplicación???

Saludo2
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Curioso:


FileListBox1->Directory = "A:\\";
FileListBox1->Mask = "*.txt";
for (int i = 0; i < FileListBox1->Items->Count; i ++)
DeleteFile(FileListBox1->Directory + FileListBox1->Items->Strings[i]);


A mi me funciona poniendo esto :
en DeleteFile(ExtractFilePath(Application->ExeName)+"\\Directorio\\"+ FileListBox1->Items->Strings[i]);

No entiendo el por qué? si en FileBox1->Directory le he puesto la misma dirección : ExtractFilePath(Application->ExeName)+"\\Directorio\\"

Saludos2
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bueno ya que estamos les paso una funcion para borrar archivos. Espero les sirva:
Código:
//---------------------------------------------------------------------------
//Delete_Files()
// - Borra todos los archivos de un tipo especificado en una carpeta especificada
//ejemplo:
//Delete_Files("C:\\Temp\\TEMP", "*.txt");
//---------------------------------------------------------------------------
void __fastcall TForm1::Delete_Files(AnsiString Ruta, AnsiString Mask)
{

TSearchRec File;

if (Ruta.SubString(Ruta.Length(),2) != "\\")  //si no termina en "\\" lo agrega
   Ruta = Ruta + "\\";

if (FindFirst(Ruta + Mask, faArchive, File) == 0)
   {
        do {
           if (remove((Ruta + File.Name).c_str()) != 0)
              ShowMessage(File.Name + " : " + _sys_errlist[errno]);
           } while(FindNext(File) == 0);
        FindClose(File);

   }
}
//---------------------------------------------------------------------------


saludos
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.