问题:板子不支持adb指令,但支持ssh命令
解决办法:
可以使用windows.bat脚本里调用ssh命令去执行自动化推送。
具体步骤:
0. 前提:PC要可以通过ssh登录到板子才行。
1. 在.bat脚本里写入shell指令:
::关闭命令回显
@echo off
set "PWD=test"
set "DEMO_PATH=/tmp/demo"
::用法一、登录到板子之后,把板子/app目录文件拷贝到板子/tmp目录下
plink -batch -pw "%PWD%" ssh用户名@192.168.x.x "cp /app/test.json /tmp/test.json && sync"
if %errorlevel% neq 0 goto error
:: 用法二、登录到板子之后,把当前目录文件test_demo推到板子目录
echo pushing tools...
pscp -pw "%PWD%" "demo" ssh用户名@%TARGET_IP%:%DEMO_PATH%
if %errorlevel% neq 0 goto error
echo "successful,please power off now!!!"
pause
exit
:error
@echo "failed!" %errorlevel%
pause
2. 双击.bat就可以自动化执行
.bat脚本和2个.exe辅助工具目录结构如下:

3. 原理说明:
-
整个
.bat文件 → 由 Windows 的cmd.exe解释执行,属于批处理。 -
plink ... "cp ... && sync"→plink会连接到远程 Linux 主机,并把引号里的 Shell 命令 交给远程主机的 Shell(如 bash)去运行。
4. 2个.exe辅助工具原理说明:
这个 .bat 脚本需要同时配合 plink.exe 和 pscp.exe 使用,是因为这两个 .exe 程序是Windows系统和远程Linux服务器之间沟通的"桥梁"。
它们都来自一个名为 PuTTY 的软件套件,是功能不同、但配合紧密的两个命令行工具。
-
plink.exe(PuTTY Link) :它是一个命令行版的SSH客户端。主要作用是在脚本中自动连接远程服务器并执行命令 。它相当于一个自动化的SSH工具,能让.bat脚本像在本地一样,远程操控Linux服务器。 -
pscp.exe(PuTTY Secure Copy Client) :它是一个命令行版的SCP文件传输工具。主要作用是在Windows和Linux服务器之间安全地传输文件。它为未来的自动化文件管理(比如上传配置、下载日志)做好了准备。