| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Xpto Lt

Registrado: 24 Abr 2003Mensajes: 92Ubicación: Pamplona
|
Publicado: Vie 08 Ago, 2003 12:00 pm Asunto: Borrar archivos con la misma extensión |
|
|
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 08 Ago, 2003 12:45 pm Asunto: |
|
|
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 |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Vie 08 Ago, 2003 12:47 pm Asunto: |
|
|
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 |
|
 |
Xpto Lt

Registrado: 24 Abr 2003Mensajes: 92Ubicación: Pamplona
|
Publicado: Vie 08 Ago, 2003 12:52 pm Asunto: vale |
|
|
Voy a mirar los dos.
Muchas gracias y también por lo del Memo, me sirve mucho.
Saludo2 |
|
| Volver arriba |
|
 |
Xpto Lt

Registrado: 24 Abr 2003Mensajes: 92Ubicación: Pamplona
|
Publicado: Vie 08 Ago, 2003 12:55 pm Asunto: Ya lo miré |
|
|
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 |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Vie 08 Ago, 2003 1:21 pm Asunto: |
|
|
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 |
|
 |
Xpto Lt

Registrado: 24 Abr 2003Mensajes: 92Ubicación: Pamplona
|
Publicado: Vie 08 Ago, 2003 1:32 pm Asunto: No me borra |
|
|
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 |
|
 |
Xpto Lt

Registrado: 24 Abr 2003Mensajes: 92Ubicación: Pamplona
|
Publicado: Vie 08 Ago, 2003 1:58 pm Asunto: |
|
|
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 |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Vie 08 Ago, 2003 4:17 pm Asunto: |
|
|
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 |
|
 |
|