Проверьте, является ли Exe-файл SFX (самораспаковывающимся архивом) с помощью командной строки WinRAR?

610
Mohammad Dayyan

Я хочу проверить, является ли файл SFX (самораспаковывающийся архив) или нет?
Можно ли это проверить с помощью командной строки WinRar?

0
Я не знаю о `WinRar`, ​​но вы наверняка сможете с 7-Zip:` 7z t File.exe`. Команда возвращает 0 для архива и 2, если нет. Я не знаю, что возвращается для поврежденного архива, но я думаю, что может быть 1. AFH 7 лет назад 1

1 ответ на вопрос

1
Maher Fattouh

используйте команду:

rar t mySFX.exe 

если он возвращает «Все в порядке», то это SFX

если он возвращает «Нет файлов для извлечения», то это исполняемый файл не-SFX.

Вот полная команда с условиями.

FOR /F "delims=" %%i IN ('rar t mySFX.exe') DO set isSFX=%%i IF /I "%isSFX%"=="All OK" echo It's an SFX IF /I NOT "%isSFX%"=="All OK" echo It's NOT an SFX 

не забудьте использовать% i вместо этого, если вы выполняете из окна cmd, а не из bat-файла.