使用.exe中的嵌入文件

时间:2015-07-01 13:50:22

标签: windows batch-file exe 7zip

我制作了一个exe文件,其中嵌入了文件,就像一个便携式7zip(7za.exe),我想在批处理脚本中调用它,我正在编译成一个exe但是当我这样做时只给了我“7za .exe“不被识别为内部或外部命令。如果我遗漏了任何东西,请问。

(对不起,如果这是一个简单的修复,我只是搞乱一些基本代码)

这是我正在使用的代码,exe在发布标签中。

https://github.com/iamtis/mass-extract

1 个答案:

答案 0 :(得分:0)

让我们看看批处理文件,顶部有一些额外的行:

@echo off
echo Current working directory is: %CD%
echo Directory of batch file is:   %~dp0
pause
echo Files in current working directory:
dir /A-D /B
pause
echo Files in directory of batch file:
dir /A-D /B "%~dp0"
pause

我认为当前工作目录不等于批处理文件的目录,工具位于批处理文件的目录中。我想批处理文件目录是%TEMP%中随机名称的子目录。

所以你最需要的是:

@echo off
set "ToolPath=%~dp0"
if not exist "%CD%\archive\*" md "%CD%\archive"
"%ToolPath%7za.exe" x "%CD%\*.zip" "%CD%\archive\"
"%ToolPath%7za.exe" x "%CD%\*.7z" "%CD%\archive\"
"%ToolPath%unrar.exe" x "%CD%\*.rar" "%CD%\archive\"
"%ToolPath%7za.exe" a -mx9 archive.7z "%CD%\archive\"
rd /S /Q "%CD%\archive"
set "ToolPath="