数据传输客户端
前言
数据传输客户端是为了解决部分项目中机房服务器被物理隔离并且无VPN可用的时候,可以将机房服务器中的数据通过外接Android手机而将数据通过GPRS或者短信传出。此为基于Windows批处理命令和Adb调试工具的一个应用。
正文
准备工作:
1.低配安卓手机,可以发短信或使用数据流量,内存512MB或以上,系统为android 2.2或以上版本,有足够的存储容量(具体视项目而定)
2.手机官方驱动或者豌豆荚电脑客户端(其他驱动安装工具如金山手机助手、360手机助手等测试不稳定)
主界面:
首先我们先完成一个简单的安装界面:如下
代码如下:
@echo off
title 数据传输服务--by hopestar720@126.com
rem 定制定时任务
call Config\config.bat
:frmStart
cls
set tmp=%BASE_DIR:~5,6%
if not defined tmp goto frmDirNotAvaiabled
echo.
echo 数据传输服务安装界面
echo.
echo.
echo --by hopestar720@126.com
echo.
echo 1.安装数据传输服务
echo 2.卸载数据传输服务
echo 0.退出本程序
echo.
echo.
set /P hand= "请选择:"
if "%hand%" EQU "0" exit else goto frmStart
if "%hand%" EQU "1" goto frmInstall
if "%hand%" EQU "2" goto frmUninstall
配置文件:
接下来是外部配置文件Config.bat,此处采用Set变量,其他可采用ini文件读取
@echo off
rem 设定目录必须为程序私有,不得与其他文档放在一起,否则卸载软件会导致文档丢失,特此声明!
set BASE_DIR="E:\DataTransfer"
set DATA_SUBFIX=".txt"
set SMS_SUBFIX=".txt"
rem 单位分钟
set DATA_DURATION=1
其中BASE_DIR为程序安装路径,DATA_SUBFIX是数据文件后缀,SMS_SUBFIX是短信命令文件路径,DATA_DURATION为数据扫描间隔。
安装
:frmInstall
echo.
echo 初始化...
echo 检查任务计划服务....
schtasks /query > nul & if errorlevel=1 (echo 服务不可用!正在尝试恢复...&chcp 437&已经切换为437编码,如果发生异常,请使用命令chcp 936恢复!&pause&goto frmStart)
if not exist "%BASE_DIR%\Backup". (mkdir "%BASE_DIR%\Backup"&echo 创建备份目录成功。) else echo 备份目录已存在!.
if not exist "%BASE_DIR%\Data\Data". (mkdir "%BASE_DIR%\Data\Data"&echo 创建数据目录成功。) else echo 数据目录已存在!.
if not exist "%BASE_DIR%\Data\Sms". (mkdir "%BASE_DIR%\Data\Sms"&echo 创建短信数据目录成功。) else echo 短信数据目录已存在!.
if not exist "%BASE_DIR%\Data\Logs". (mkdir "%BASE_DIR%\Data\Logs"&echo 创建手机日志目录成功。) else echo 手机日志目录已存在!.
if not exist "%BASE_DIR%\App". (mkdir "%BASE_DIR%\App"&echo 创建应用目录成功。) else echo 应用目录已存在!.
if not exist "%BASE_DIR%\Logs". (mkdir "%BASE_DIR%\Logs"&echo 创建日志目录成功。) else echo 日志目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Config". (mkdir "%LOCALAPPDATA%\Tuoming\Config"&echo 创建配置文件目录成功。) else echo 配置文件目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Backup\Logs". (mkdir "%LOCALAPPDATA%\Tuoming\Backup\Logs"&echo 创建备份日志目录成功。) else echo 备份日志目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Backup\Data". (mkdir "%LOCALAPPDATA%\Tuoming\Backup\Data"&echo 创建备份数据目录成功。) else echo 备份数据目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Backup\Sms". (mkdir "%LOCALAPPDATA%\Tuoming\Backup\Sms"&echo 创建备份短信目录成功。) else echo 备份短信目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Temp\Data" (mkdir "%LOCALAPPDATA%\Tuoming\Temp\Data"&echo 创建临时数据目录成功。) else echo 临时数据目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Temp\Apk" (mkdir "%LOCALAPPDATA%\Tuoming\Temp\Apk"&echo 创建手机应用目录成功。) else echo 手机应用目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Temp\App" (mkdir "%LOCALAPPDATA%\Tuoming\Temp\App"&echo 创建应用目录成功。) else echo 应用目录已存在!.
if not exist "%LOCALAPPDATA%\Tuoming\Temp\Logs" (mkdir "%LOCALAPPDATA%\Tuoming\Temp\Logs"&echo 创建手机日志目录成功。) else echo 手机日志目录已存在!.
echo.
echo 安装应用...
copy /Y Config\config.bat "%LOCALAPPDATA%\Tuoming\Config\"
copy /Y App\adb* "%BASE_DIR%\App\"
copy /Y App\RunHide.vbs "%BASE_DIR%\App\"
copy /Y App\uninstall.bat "%BASE_DIR%\"
echo.
echo 定制数据传输计划任务
schtasks /create /tn "DataTransferTool" /tr "%BASE_DIR%\App\RunHide.vbs" /sc minute /mo %DATA_DURATION%
echo 完成
pause
goto frmStart
卸载:
:frmUninstall
set /P isdel= "确认卸载服务?(Y/N)"
if "%isdel%"=="y" goto frmExecUninstall
if "%isdel%"=="n" goto frmStart
执行卸载
:frmExecUninstall
echo 开始卸载数据传输服务...
schtasks /delete /tn "DataTransferTool" /f
echo 停止ADB服务...
%cd%\adb kill-server
echo 备份日志文件
copy /Y %BASE_DIR%\Logs\*.log "%LOCALAPPDATA%\Tuoming\Temp\Logs"
echo 备份数据文件
xcopy /S/Y %BASE_DIR%\Data "%LOCALAPPDATA%\Tuoming\Backup\"
echo 备份已备份文件
xcopy /S/Y %BASE_DIR%\Backup "%LOCALAPPDATA%\Tuoming\Temp\Data"
echo 删除软件目录...
rmdir /S/Q %BASE_DIR%
del /Q "%LOCALAPPDATA%\Tuoming\Config\config.bat"
echo 卸载成功。
pause
goto frmStart
目录不可用提示
:frmDirNotAvaiabled
echo 安装目录不可用,禁止将软件安装至驱动器根目录,请修改config.bat中BASE_DIR变量
pause
exit
至此Setup.bat安装文件开发完成。
未完待续...