在工作过程中遇到了使用bat脚本向Linux上传文件的需求,查资料之后做个笔记。这篇笔记的bat脚本需要手动输入密码,如需免密上传,文末链接。

一、单个文件上传

%关闭其他所有命令回显%
@echo off

%设置本地文件路径%
set localFile=D:\temp\demo1.txt
​
%设置服务器ip地址%
set host=***.***.**.**
%设置服务器登录用户名%
set user=root
%设置需要上传的位置路径%
set remotePath=/temp/
​%执行scp命令上传文件%
scp %localFile% %user%@%host%:%remotePath%

%pause脚本执行完成之后需要手动关闭,如需直接关闭,替换成exit即可%
pause

双击执行完成之后手动输入密码即可上传成功

二、多个文件上传

@echo off

set localPath=D:\temp\

set host=***.***.**.**
set user=root
set remotePath=/temp/

for /r %localPath% %%i in (*.txt) do (scp %%i %user%@%host%:%remotePath%)

/r:递归,不指定的话默认当前路径
%%i:指定的变量名
do (执行命令)

免密上传:免密上传链接

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐