.Arquivo Bat para descompactar arquivos de um arquivo .exe

0

Eu criei um arquivo .exe contendo um arquivo test.zip e um arquivo extract.bat. Eu estou tentando configurar o arquivo extract.bat para que ele possa extrair o test.zip para a pasta C: \ Temp.

O arquivo bat se parece com isto:

echo off
setlocal
cd /d %~dp0
Call :UnZipFile "C:\Temp\" **for /F %%I IN ('dir /b /s *.zip)**
exit /b

:UnZipFile <ExtractTo> <newzipfile>
set vbs="%temp%\_.vbs"
if exist %vbs% del /f /q %vbs%
>%vbs%  echo Set fso = CreateObject("Scripting.FileSystemObject")
>>%vbs% echo If NOT fso.FolderExists(%1) Then
>>%vbs% echo fso.CreateFolder(%1)
>>%vbs% echo End If
>>%vbs% echo set objShell = CreateObject("Shell.Application")
>>%vbs% echo set FilesInZip=objShell.NameSpace(%2).items
>>%vbs% echo objShell.NameSpace(%1).CopyHere(FilesInZip)
>>%vbs% echo Set fso = Nothing
>>%vbs% echo Set objShell = Nothing
cscript //nologo %vbs%
if exist %vbs% del /f /q %vbs%

Estou confuso e, para ser honesto, não tenho certeza se estou fazendo isso corretamente. Não funciona. Meu desafio é que não posso declarar o local do arquivo .zip, pois tanto o arquivo test.zip quanto o arquivo extract.bat fazem parte do mesmo arquivo .exe. Além disso, estou usando o Iexpress.exe para criar o arquivo .exe. Qualquer ajuda seria muito apreciada. Agradecemos antecipadamente.

    
por Dev 22.09.2016 / 17:52

1 resposta

0

Se o script de extração fizer parte do arquivo exe, basta fazer um executável de extração automática que se auto-extrai em um local especificado. (A propósito, esta é a abordagem orientada a objetos: você diz ao exe archive para descompactar a si mesmo;) O IExpress é apenas uma das opções disponíveis.

    
por 22.09.2016 / 18:13