Enhanced Windows wrapper script
@echo off
-if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
-set PATH=%CD%;%PATH_BASE%;
+setlocal
+set BASENAME=apktool_
chcp 65001 2>nul >nul
-java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*
+
+rem Find the highest version .jar available in the same directory as the script
+setlocal EnableDelayedExpansion
+pushd "%~dp0"
+if exist apktool.jar (
+ set BASENAME=apktool
+ goto skipversioned
+)
+set max=0
+for /f "tokens=1* delims=-_.0" %%A in ('dir /b /a-d %BASENAME%*.jar') do if %%~B gtr !max! set max=%%~nB
+:skipversioned
+popd
+setlocal DisableDelayedExpansion
+
+rem Find out if the commandline is a parameterless .jar or directory, for fast unpack/repack
+if "%~1"=="" goto load
+if not "%~2"=="" goto load
+set ATTR=%~a1
+if "%ATTR:~0,1%"=="d" (
+ rem Directory, rebuild
+ set fastCommand=b
+)
+if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" (
+ rem APK file, unpack
+ set fastCommand=d
+)
+
+:load
+java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0%BASENAME%%max%.jar" %fastCommand% %*
+
+rem Pause when ran non interactively
+for /f "tokens=2" %%# in ("%cmdcmdline%") do if /i "%%#" equ "/c" pause
