Eliminar archivo SFX después de la extracción

1

Creé un SFX para extraer algunos archivos. Después de la extracción, necesito que se elimine el archivo SFX. Por lo que he visto, WinRar no ofrece esa opción. Así que pensé en ejecutar un comando DOS -prompt (como bat).

Este es mi código hasta ahora (no funciona):

SETUP=cmd /c del /f /q "file-to-delete"

Abre el cmd, parpadea y luego se cierra ...

Alguien con un problema similar: http://www.msfn.org/board/topic/34506-sfx-remove-file-after-extraction/

Rafael Vidal
fuente
¿Es usted SETUP=una directiva WinRar? Asegúrese de que se incluya la ruta completa al archivo.
foxidrive
Sí, "SETUP =" es una directriz winrar y permite ejecutar un programa específico después de la extracción automática de SFX, que puede ser "Setup.exe" o "Install.exe" o "script.bat", etc. camino está bien, simplemente no puedo encontrar la manera de hacerlo funcionar
Rafael Vidal
Su problema es que el SFX todavía se está ejecutando, por lo que si intenta eliminarlo, solo terminará con un error de acceso denegado.
Karan
Karan, ese no es el caso. Winrar tiene directivas específicas para ser utilizadas ANTES, DURANTE o DESPUÉS del proceso de extracción. En este caso, la directiva SETUP se supera en el ende (una vez que SFX ha finalizado). Por lo tanto, no hay problema para eliminar el archivo. Por cierto, foxidrive tiene la solución exacta. Gracias por cierto.
Rafael Vidal
1
Hmm, me pregunto por qué cmdno funciona pero cmd.exefunciona (con o sin la ruta completa, la primera es la que %comspec%contiene) Entonces, todo lo que tenía que hacer era cambiar su código a SETUP=cmd.exe /c del /f /q "name-of-sfx".
Karan

Respuestas:

1

Vea si esto funciona: incluya la ruta precisa al archivo y vea si lo elimina. Si es así, puede probar rutas relativas.

SETUP="%comspec%" /c del "c:\program location\file-to-delete"

Si eso falla, incluya este comando en un archivo bat ubicado donde está el archivo y luego use el archivo bat para eliminar el archivo SFX, en la directiva WinRar.

@echo off
del "file-to-delete"
FoxDrive
fuente
¡PERFECTO! "% comspec%" / c del "c: \ ubicación del programa \ archivo para eliminar" hizo el truco. ¿Pero cómo lo supiste?
Rafael Vidal