![SFX-Datei nach dem Extrahieren löschen](https://rvso.com/image/1365820/SFX-Datei%20nach%20dem%20Extrahieren%20l%C3%B6schen.png)
Ich habe ein SFX erstellt, um einige Dateien zu extrahieren. Nach der Extraktion muss die SFX-Datei gelöscht werden. Soweit ich gesehen habe, bietet WinRar diese Option nicht. Also dachte ich, ich führe eine DOS-Eingabeaufforderung (wie bat) aus.
Dies ist mein bisheriger Code (funktioniert nicht):
SETUP=cmd /c del /f /q "file-to-delete"
Es öffnet die Eingabeaufforderung, blinkt und schließt sich dann ...
Jemand mit einem ähnlichen Problem:http://www.msfn.org/board/topic/34506-sfx-remove-file-after-extraction/
Antwort1
Probieren Sie aus, ob das funktioniert. Geben Sie den genauen Pfad zur Datei an und prüfen Sie, ob sie gelöscht wird. Wenn ja, können Sie es mit relativen Pfaden versuchen.
SETUP="%comspec%" /c del "c:\program location\file-to-delete"
Wenn dies fehlschlägt, fügen Sie diesen Befehl in eine Bat-Datei ein, die sich dort befindet, wo sich die Datei befindet, und verwenden Sie dann die Bat-Datei, um die SFX-Datei in der WinRar-Direktive zu löschen.
@echo off
del "file-to-delete"
Antwort2
Sie müssen den GUY-Modus des SFX-Archivs auswählen. Der 32-Bit-RAR-Modus auf einem 64-Zoll-Rechner löscht die Datei nicht, der 64-Bit-RAR-Modus auf einem 64-Zoll-Rechner löscht die Datei.
Andernfalls können Sie Powershell verwenden, um einen Ordner in der Eingabeaufforderung zu löschen.
powershell "rd -r \"%PROGRAMFILES%\company\folder\""
Antwort3
Diese Lösung löscht das selbstextrahierende (SFX) Archiv selbst. Die andere Lösung scheint das Löschen einer extrahierten Datei zu sein.
- WählenStandard64.SFXfür das SFX-Modul imErweiterte SFX-OptionenDialog,ModulTab.
- ImAufstellenFügen Sie auf der Registerkarte den folgenden Text in Anführungszeichen hinzu:"%comspec%" /c del "%sfxname%"
- ImAufstellenRegisterkarte nicht aktivieren Sie dieWarten Sie und kehren Sie zum Exit-Code zurückKasten
Wenn Sie debuggen möchten, ändern Sie von /c zu /k, um das Befehlsfenster geöffnet zu lassen. Der Archivkommentar sollte ungefähr so aussehen.
;The comment below contains SFX script commands
Setup="%comspec%" /c del "%sfxname%"
Silent=2
Overwrite=1
Verfügbare Variablen können nach Verwendung von /k in der Kommandozeile angezeigt werden.
E:\New folder>SET SFX
sfxcmd="E:\New folder\ReadMe.exe"
sfxname=E:\New folder\ReadMe.exe
sfxpar=
sfxstime=2020-11-13-16-45-37-025