
Tengo un programa (una versión antigua de Delphi) que necesita crear un archivo temporal cada vez que se abre. El problema es que puede crear ese archivo, pero no puede sobrescribirlo, por lo que cada vez que intento abrirlo, primero tengo que mover el archivo a otro lugar.
El archivo se crea en la carpeta temporal (carpeta de usuario\AppData\Local\Temp). Puedo moverlo a cualquier lugar, puedo cambiarle el nombre, pero no puedo eliminarlo.
Así que he creado una carpeta separada donde puedo mover el archivo temporal. Recibo una copia cada vez que quiero abrir el programa, así que he estado cambiando el nombre de estas copias. Pero ahora hay demasiados y me gustaría deshacerme de ellos.
Cuando intento eliminar uno, aparece un mensaje que dice:
La acción no se puede completar porque el archivo está abierto en Sistema
Lo curioso es que incluso si reinicio el sistema, cuando voy a la carpeta separada que creé para contener esos archivos e intento eliminar uno, todavía recibo ese mensaje.
Yo he tratado:
- Asignándome la propiedad de los archivos (originalmente pertenecen al Sistema);
- Asignar permisos a otras cuentas de usuario, incluido "Todos", y asegurarse de que todos tengan permiso para eliminar los archivos;
- Eliminando todos los atributos del archivo;
- Reiniciando, como se mencionó anteriormente. Incluso lo hice varias veces;
- Cambiar no sólo los nombres de los archivos sino también las extensiones;
- Unlocker (un programa que promete solucionar este tipo de problemas, pero a mí no me funcionó);
- Pasando por el símbolo del sistema. Simplemente dice
access denied
.
¿Qué más puedo probar? ¿Cómo puedo evitar que el proceso del sistema abra estos archivos para poder deshacerme de ellos?
Respuesta1
Buena lista de ideas. Otras cosas más extremas para probar:
- Arrancar en modo seguro
- Montar disco en otra máquina
Puedes usarExplorador de procesospara ver qué proceso (si lo hay) tiene un identificador en el archivo:
- Ctrl+L (mostrar panel inferior)
- En el panel inferior, Ctrl+F para el nombre del archivo