SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: aitorsola en Martes 26 de Junio de 2007, 00:48

Título: Pregunta Para Eliminar Un Fichero
Publicado por: aitorsola en Martes 26 de Junio de 2007, 00:48
hola,este es mi primer post asiq veamos k tal se da,empece con c el año pasado y estoy prosperando bastante,lo que tengo es una duda,he creado una carpeta,he copiado archivos a ella...lo unico k no se como hacer es borrar una carpeta con todo lo k hay dentro,he usado system("del "ruta"); pero no funciona,solo m lo elimina con archivos pero no con carpetas,k opciones hay?
venga saludos
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: cris_maco en Martes 26 de Junio de 2007, 18:00
yo diria que con rmdir, que borra directorios
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: LeGatoRojo en Martes 26 de Junio de 2007, 18:05
je puedes usar como ya se dijo rmdir o borrar primero los archivos y luego el rd...
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: aitorsola en Miércoles 27 de Junio de 2007, 11:54
OK,pero ese comando es solo para borrar carpetas pero que esten vacias,como lo hago para borrarlas con todo su contenido?
saludos
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: su - en Miércoles 27 de Junio de 2007, 21:34
Cita de: "aitorsola"
hola,este es mi primer post asiq veamos k tal se da,empece con c el año pasado y estoy prosperando bastante,lo que tengo es una duda,he creado una carpeta,he copiado archivos a ella...lo unico k no se como hacer es borrar una carpeta con todo lo k hay dentro,he usado system("del "ruta"); pero no funciona,solo m lo elimina con archivos pero no con carpetas,k opciones hay?
venga saludos
Por lo que se, uno no puede eliminar una carpeta con todo el contenido que hay en ella, primero hay que eliminar el contenido... para eso usas la funcion unlink de unistd.h[1]
____
1. http://www.opengroup.org/onlinepubs/009695...s/unistd.h.html (http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html)
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: kobtron en Miércoles 27 de Junio de 2007, 23:31
Para borrar una carpeta con todo su contenido usa

rm -rf foo

La opción r indica que se va a borrar de forma recursiva y la opción f que se borra sin preguntar. Cuando un directorio dentro de foo es vaciado, se borra gracias a la opción r. Al final, si durante el proceso no ocurrió ningún error, el mismo foo es borrado. Si no se usara f el comando rm se detendría a preguntar por cada archivo de solo lectura.
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: su - en Miércoles 27 de Junio de 2007, 23:37
Cita de: "kobtron"
Para borrar una carpeta con todo su contenido usa

rm -rf foo

La opción r indica que se va a borrar de forma recursiva y la opción f que se borra sin preguntar. Cuando un directorio dentro de foo es vaciado, se borra gracias a la opción r. Al final, si durante el proceso no ocurrió ningún error, el mismo foo es borrado. Si no se usara f el comando rm se detendría a preguntar por cada archivo de solo lectura.
El programa es en C o Shell?  :rolleyes:
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: kobtron en Miércoles 27 de Junio de 2007, 23:52
Disculpa. En Shell. Esta es la versión en C:

system("rm -rf foo");
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: su - en Jueves 28 de Junio de 2007, 01:43
Cita de: "kobtron"
Disculpa. En Shell. Esta es la versión en C:

system("rm -rf foo");
 :P Realmente no me refiero a eso... es mejor (en cuanto al tiempo de ejecucion y otroas cosas) usar unlink que un comando.

Por eso he puesto el link con la documentacion estandar. (http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html)
Título: Re: Pregunta Para Eliminar Un Fichero
Publicado por: kobtron en Jueves 28 de Junio de 2007, 05:11
:o Bastante interesante. No conocía unlink. Pa' la otra me documento bien de las respuestas de los demás.