추출 후 SFX 파일 삭제

추출 후 SFX 파일 삭제

일부 파일을 추출하기 위해 SFX를 만들었습니다. 추출 후에는 SFX 파일을 삭제해야 합니다. 내가 본 바로는 WinRar는 그러한 옵션을 제공하지 않습니다. 그래서 나는 DOS 명령 프롬프트(예: bat)를 실행하려고 생각했습니다.

이것은 지금까지 내 코드입니다(작동하지 않음).

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

cmd를 열고 깜박인 다음 닫힙니다.

비슷한 문제가 있는 사람:http://www.msfn.org/board/topic/34506-sfx-remove-file-after-extraction/

답변1

이것이 작동하는지 확인하십시오 - 파일의 정확한 경로를 포함시키고 파일이 삭제되는지 확인하십시오. 그렇다면 상대 경로를 시도해 볼 수 있습니다.

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

실패할 경우 파일이 있는 곳에 있는 bat 파일에 이 명령을 포함시킨 다음 WinRar 지시어에서 해당 bat 파일을 사용하여 SFX 파일을 삭제하세요.

@echo off
del "file-to-delete"

답변2

SFX 아카이브의 GUY 모드를 선택해야 합니다. 64 시스템에서 32비트 rar 모드는 삭제되지 않습니다. 64 시스템에서 64비트 rar 모드는 파일을 삭제합니다.

그렇지 않으면 powershell을 사용하여 cmd에서 폴더를 삭제할 수 있습니다.

powershell "rd -r \"%PROGRAMFILES%\company\folder\""

답변3

이 솔루션은 자동 추출(SFX) 아카이브 자체를 삭제합니다. 다른 해결 방법은 추출된 파일을 삭제하는 것 같습니다.

  1. 선택하다기본값64.SFXSFX 모듈의 경우고급 SFX 옵션대화,기준 치수탭.
  2. 에서설정탭에 다음 텍스트를 따옴표와 함께 추가하세요."%comspec%" /c del "%sfxname%"
  3. 에서설정탭을 확인하지 마십시오종료 코드를 기다렸다가 반환상자

명령 창을 열어두기 위해 /c에서 /k로의 변경 사항을 디버그하려는 경우 보관 주석은 다음과 같아야 합니다.

;The comment below contains SFX script commands
Setup="%comspec%" /c del "%sfxname%"
Silent=2
Overwrite=1

/k를 사용한 후 명령줄에 사용 가능한 변수를 표시할 수 있습니다.

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

관련 정보