批处理中for语句中的变量在执行外部程序后会自动变成空值呢?
color 20
@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b') do (
if %%~xa==.apk (
rem 如果是apk文件才处理批处理中for语句中的变量在执行外部程序后会自动变成空值呢? rem fileName-src
set apkFileName=%%~nxa
set sourceFileName=!apkFileName:.apk=-src!
set unzipApkfilePath=!apkFileName:.apk=!
rem 使用APKTool反编译得到资源文件和smali格式源码
"E:\Android\Android Decompile\Ter-dex2jar.jd-gui\apktool\apktool.bat" d -f %~dp0!apkFileName! %~dp0!sourceFileName!
set apkFileName=%%~nxa
set sourceFileName=!apkFileName:.apk=-src!
set unzipApkfilePath=!apkFileName:.apk=!
echo !apkFileName!
echo !sourceFileName!
echo !unzipApkfilePath!
set
就是在这一步出错!!变量变成空值!!
完整代码-补充:因为代码不能卸载一次补充里
"C:\Program Files (x86)\WinRAR\WinRAR.exe" X %~dp0!apkFileName! %~dp0!unzipApkfilePath!\
rem 使用dex2jar得到Jar文件
"E:\Android\Android
Decompile\Ter-dex2jar.jd-gui\dex2jar-0.0.9.15\d2j-dex2jar.bat"
%~dp0!unzipApkfilePath!\classes.dex -o %~dp0!sourceFileName!\src.jar
)
)