Quiero que mi aplicación limpie todos los archivos temporales que usó, el problema es que no todos los archivos temporales están bajo mi control, así que solo quiero "brutalmente" desbloquearlos para eliminarlos programáticamente.¿Cómo puedo desbloquear un archivo que está bloqueado por un proceso en .NET
Respuesta
Eche un vistazo al artículo this. Creo que tendrás dificultades para hacer esto en C# de forma nativa, incluso utilizando interoperabilidad, pero escribir un ensamblado de envoltura C++/CLI puede ser un buen compromiso. Tenga en cuenta también que el usuario necesita tener el privilegio SE_DEBUG para que esto funcione.
El archivo ForceDel.zip en ese artículo (que es la solución a esta respuesta) ya no está disponible ... ¡y lo necesito también! :( – kzfabi
Lo encontré! Descargar el mismo [aquí] (http://www.technipages.com/wp-content/uploads/2007/11/forcedel.zip). – kzfabi
[Otra fuente] (http: // www. findthatzipfile.com/search-17553588-hZIP/winrar-winzip-download-forcedel.zip.htm) – kzfabi
Seguramente, de su aplicación es querer limpiar los archivos temporales que posee, entonces usted tiene el control total para desbloquear estos archivos y eliminarlos!
Si desea eliminar todos los archivos TEMP, ya sean propiedad de su aplicación o no, debe tener MUCHO cuidado. ¡La aplicación original probablemente aplicó el bloqueo porque quiere usar el archivo!
Si realmente lo necesita, siempre podría generar una aplicación de línea de comandos en lugar de intentar replicar la funcionalidad de las herramientas existentes, lo que será difícil en C#.
Los archivos son parte de mi aplicación, pero no son parte de mi módulo y, por razones políticas, no puedo modificar ese módulo (realmente no quería entrar en detalles): de todos modos, sé que es seguro brutalmente borra esos archivos –
Tuve problemas con esto también, y terminé bombardeando la implementación de la línea de comandos de Unlocker. En mi caso, tiene que ejecutarse muchas veces al día y termina desbloqueando miles de archivos por día sin ningún problema.
Consulte este thread en los foros de MSDN. Hay suficiente información para hacer lo que quiere, pero no es recomendable.
- 1. ¿Cómo desbloquear un hilo bloqueado en ServerSocket.accept()?
- 2. ¿Archivo bloqueado por qué proceso?
- 3. ¿Cómo elimino un archivo que está bloqueado por otro proceso en C#?
- 4. desbloquear un Winsock Bloqueado aceptar() Llame a
- 5. ¿Cómo puedo desbloquear un bloqueo FileStream?
- 6. ¿Cómo puedo determinar si un archivo está bloqueado con VBS?
- 7. ¿Cómo desbloquear por la fuerza un archivo en C#?
- 8. Desbloquear archivo desde .net 4 C#
- 9. ¿Cómo desbloquear un usuario de tomcat?
- 10. .NET - TextWriterTraceListener, el archivo está en uso por otro proceso
- 11. Dentro de un archivo por lotes, ¿cómo puedo saber si se está ejecutando un proceso?
- 12. Compruebe si un archivo está bloqueado en Java
- 13. Desbloquear un archivo con PowerShell?
- 14. ¿Cómo verificar en línea de comandos si un archivo o directorio determinado está bloqueado (utilizado por cualquier proceso)?
- 15. ¿Cómo copio un archivo o carpeta que está bloqueado bajo Windows programáticamente?
- 16. Lectura de un archivo de registro que está bloqueado por otra aplicación
- 17. ¿Cómo puedo averiguar si un objeto está bloqueado? C#
- 18. ¿Cómo puedo determinar programáticamente qué aplicación está bloqueando un archivo?
- 19. ¿Puedo simplemente 'leer' un archivo que está en uso?
- 20. Cómo comprobar si un archivo está completamente copiado en .NET
- 21. Proceso de Python bloqueado por urllib2
- 22. ¿Cómo puedo simular un archivo "bloqueado" (uno que tiene un bloqueo de escritura)
- 23. FileReference: cargando un archivo bloqueado en Windows
- 24. ¿Cómo detectar que Windows está bloqueado?
- 25. Cómo esperar a que finalice un proceso para ejecutar otro proceso en el archivo por lotes
- 26. C# File.Delete, archivo que está siendo utilizado por otro proceso
- 27. ¿Cómo implementar un proceso nocturno en .NET?
- 28. archivo está siendo utilizado por otro proceso
- 29. E/S Java: Asegurar que un archivo no esté bloqueado por otro proceso antes de cualquier operación de r/w
- 30. ¿Cómo saber qué proceso está usando un archivo dado?
No sé sobre su aplicación y sus archivos que está utilizando, pero si está utilizando FileStream para manipular sus archivos, debe cerrar el FileStream y desechar el objeto FileStream y luego su archivo (s) utilizado será desbloqueado – milot