批处理进行apk安装,手机与电脑之间的文件复制与拷贝
在日常的开发中,我们会经常的安装apk进行测试,或者电脑与手机之间的文件传输。为了方便,我们就会选择运用批处理来批量操作。
批处理源码:
install.bat:
@echo off
setlocal enableDelayedExpansion
chcp 65001>nul
taskkill /f /im adb.exe>nul>nul
%~dp0adb.exe start-server>nul>nul
set "array_processing_serial="
:main_loop
for /l %%a in ( ) do (
cls
if defined array_processing_serial (
echo 当前状态: 处理中...
) else (
echo 当前状态:等待设备连接中
)
echo ----------------------------- 当前设备列表 -----------------------------
set "array_temp_serial="
for /f "skip=1 tokens=1,2 delims= " %%i in ('%~dp0adb.exe devices') do (
echo %%i
set "isNew=true"
if "%%j"=="device" (
set "array_temp_serial=!array_temp_serial!%%i "
if defined array_processing_serial (
for %%o in (!array_processing_serial!) do if "%%i"=="%%o" set "isNew=false"
if "!isNew!"=="true" start .\install-core.bat %%i
) else (
start .\install-core.bat %%i
)
)
)
set "array_processing_serial=!array_temp_serial!"
ping -n 1 127.0.0.1>nul 1>nul
)
install-core.bat
@echo off
set myPath=%~dp0
set ApkPath=%cd%\apks
if exist %ApkPath% (
cd %ApkPath%
echo -----开始安装apk------
for /R %%s in (*.apk) do (
echo 正在安装: %%s
%myPath%\adb.exe -s %1 install -r -t %%s
)
echo -----安装结束---------
cd..
)
set filePath=%cd%\files
if exist %filePath% (
cd %filePath%
set filecount = 0
echo -----开始复制文件------
for /R %%i in (*.*) do (
set /a filecount +=1
%myPath%\adb.exe -s %1 push "%%i" /sdcard/%%~ni%%~xi
)
echo -----复制文件结束---------
cd.. )
ECHO=
ping -n 3 127.0.0.1>nul 1>nul
%myPath%\adb.exe -s %1 shell reboot
exit
使用注意事项:
- 将需要安装的apk文件放入apks文件夹下;
- 将需要向手机中拷贝的文件放入files文件夹下,默认会拷贝到sdcard根目录下;
- 将adb.exe及两个执行脚本放在同级目录下即可。