@ECHO OFF
color 0b
echo ==============================================================
echo 欢迎使用傻瓜式签名工具,可以同时签名多个zip文件和多个apk文件
echo.
echo 请保持文件夹内容完整性,不要删除和修改任何文件
echo.
echo 签名好的文件将放在 Signed文件夹,有问题请联系vanck
echo ==============================================================
echo.
set filename=*.zip *.apk
if not exist auto-sign-vanck-v1.1.bat goto vend
echo 搜索并签名文件...............
if not exist .\Signed mkdir .\Signed
for /f "delims=" %%i in ('dir/b %filename%') do (
java -jar signapk.jar testkey.x509.pem testkey.pk8 "%%i" ".\signed\%%~ni_signed%%~xi")
echo.
echo.
echo.
echo 签名完毕,按任意键退出.
goto end
:vend
echo.
echo.
echo.
echo 文件被破坏,请重新下载解压,不要删除和修改任何文件
goto end
:end
pause >nul
EXIT
for /f "delims=" %%i in ("%cd%") do set folder=%%~ni 请问这段代码的意思,批处理。
%cd%——当前路径
for /f "delims=" %%i in ("%cd%") do——逐行取双引号中的内容。
因为就一行,所以这里就是将%cd%赋值给%%i
%%~ni将%%i扩充到一个文件名
意思就是取%%i路径中最后一个\后的文件名。
%cd%最后的一个文件名就是当前文件夹的名字。
所以这行的意思就是取当前路径的文件夹名并赋给folder
不用这么多,下面这样也可以的:
for %%i in ("%cd%") do set folder=%%~ni