如何用bat解压缩rar或zip

源文件是apk格式的,但可以改成rar或zip。使用360压缩可以正常打开,解压。但使用如下命令提示“...不是rar压缩文件”

rar.exe e *.rar %~dp0\apk\
请问怎么办?可以用别的方法解压缩rar或zip吗?
其实我只需要这个压缩文件中的classes.dex文件。如果能提供把它解压缩到%~dp0\%~n1的代码,加分

实现的方法和详细的操作步骤如下:

1、第一步,右键单击压缩文件,然后选择打开的“属性”选项,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,在打开的弹出窗口中单击“打开文件位置”选项,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,在弹出的窗口中,找到“winrar.exe”并将其放入一个文件夹中,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,打开文本文档并输入代码“for %%i in (a.rar,b.rar,c.rar) do "C:\Program Files\WinRAR\rar.exe" ”,如下图所示,然后进入下一步。

5、随后,完成上述步骤后,在“文件”选项中单击“另存为”选项,如下图所示,然后进入下一步。

6、接着,完成上述步骤后,选择“winrar.exe”所在的文件夹,输入后缀“
 .bat”,然后按Enter键确认,如下图所示,然后进入下一步。

7、最后,完成上述步骤后,转到保存的目录,然后双击“bat”程序即可实现所需的功能了,如下图所示。这样,问题就解决了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-27
@echo off
cd /d %~dp0
for /r %%a in (*.apk) do "C:\Program Files\WinRAR\WinRAR.exe" e "%%~a" classes.dex "%%~na\" -ibck
pause

放在APK文件一起运行,如果你的WinRAR.exe路径不是和代码中的相同,请自行修改。注意,必须使用WinRAR.exe主程序,而不是用rar.exe

追问

可以把WinRAR.exe文件与bat文件放在一起运行吗

追答

这个不行,因为WinRar.exe是WinRar的主程序,它会调用它自身目录中的相关文件,不能单独运行。如果你需要携带方便,不受限于必须有WinRar的电脑上运行,那只能使用unzip.exe这个命令行程序了。附件中已提供。

@echo off
cd /d %~dp0
for /r %%a in (*.apk) do UnZip "%%~a" classes.dex -d "%%~na"
pause

 

追问

另外问一下如何使用bat复制文件夹?比如把D:\test\a这个文件夹复制到E:\aaa\这个文件夹中?还有如何删除文件夹?

【其实就是剪切。先把D:\test\a复制到E:\aaa\中,再把原来的文件夹(D:\test\a)删除。如果能用剪切也可以,达到目的就行。谢谢了!】

追答

剪切的命令其实就是移动(move),但是这个命令不能跨盘移动文件夹,所以只能先使用复制,后删除的命令

xcopy "D:\test\a" "E:\aaa\a\"
rd /s/q "D:\test\a"

追问

请看一下私信!谢谢

追答@echo off
cd /d %~dp0
ren %1 app.apk
echo 正在反编译 %~nx1,请等待。。。
call tools\apktool\apktool.bat d -f app.apk "%~n1"
move app.apk "%~n1\%~nx1">nul
echo,&echo 正在提取 classes.dex,请等待。。。
tools\UnZip "%~n1\%~nx1" classes.dex -d "%~n1"
echo,&echo 正在转换 dex 为 jar,请等待。。。
call tools\dex2jar\dex2jar.bat "%~n1\classes.dex"
del "%~n1\classes.dex"
copy tools\jd-gui.exe "%~n1\">nul
echo,&echo 完成,请按任意键退出&pause>nul

本回答被提问者和网友采纳