elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Borrar directorio [WINDOWS]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Borrar directorio [WINDOWS]  (Leído 4,169 veces)
bemone

Desconectado Desconectado

Mensajes: 74



Ver Perfil
Re: Borrar directorio [WINDOWS]
« Respuesta #10 en: 24 Marzo 2015, 16:50 pm »

Prueba a poner el directorio actual del ejecutable fuera de la carpeta.

Mientras que no encuentras solución, system("RD /S /Q ruta").

Lo ejecuto compilando y esta en otro directorio muy lejos.
Por mas que use la consola del sistema el error es el mismo, por lo menos aca esta traducido  :xD

Código:
El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso


En línea

Odio los tipos de variable de Windows.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Borrar directorio [WINDOWS]
« Respuesta #11 en: 24 Marzo 2015, 21:48 pm »

Puedo obviar que no hay ningún proceso con el archivo abierto, y que ningún ejecutable se ejecuta ahí ni nada no? xD

Probaste a borrar otra carpeta?


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Borrar directorio [WINDOWS]
« Respuesta #12 en: 25 Marzo 2015, 02:15 am »

Todo esta muy claro aqui  :-\  :¬¬, GetLastError te devuelve un error bastante simple ERROR_SHARING_VIOLATION:

Traduccion:
La carpeta no la puedes borrar pues algun otro proceso/tu propio proceso tiene un HANDLE con FILE_SHARE_READ como dwShareMode de la misma, y hasta que dicho manejador no sea cerrado o el proceso que contiene el recurso terminado, el SO te bloqueara cualquier peticion de borrado.

Solucion:
1- Encuentra el proceso que mantiene el manejador de la carpeta y terminalo. (Esto lo puedes hacer con ProcessExplorer o cualquier app similar)
1.2 - Si ningun otro proceso tiene un HANDLE a la carpeta abierto, entonces quiere decir que tu propia app es la que lo tiene abierto cuando intentas eliminarlo en tu codigo. Intenta usar el RemoveDirectory() justo despues que cierres el manejador con FindClose() que mantienes abierto desde la llamada FindFirstFile() a la carpeta, o verifica cualquier otro lugar donde puedes haber abierto un manejador a la misma y no lo has cerrado cuando llamas a RemoveDirectory().
2- Intenta ahora eliminar la carpeta (ten en cuenta q debe estar vacia, como ya sabes)

Saludos
« Última modificación: 25 Marzo 2015, 02:30 am por [ Thunder | CLS ] » En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Borrar archivo con nombre del directorio. BATCH « 1 2 »
Scripting
Dany3j 10 6,291 Último mensaje 22 Julio 2011, 22:37 pm
por leogtz
Listar usuarios de un directorio en windows xp
Windows
luur01 1 4,109 Último mensaje 22 Julio 2011, 18:36 pm
por Randomize
[VBS] Borrar ficheros de un directorio y dejar solamente el último creado.
Scripting
Sanzman 2 4,291 Último mensaje 28 Mayo 2013, 08:50 am
por Sanzman
Seleccionar y borrar directorio con batch
Scripting
rapbyone 0 1,646 Último mensaje 24 Octubre 2015, 20:00 pm
por rapbyone
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines