您当前的位置:首页 > 计算机 > 编程开发 > Other

使用批处理 bat 上传文件到 ftp 服务器

时间:12-14来源:作者:点击数:

实现 CI/CD 过程中,常常需要将构建好的 build 上传到一个公共的服务器,供测试、开发来获取最新的 build。如何上传 build 成果物到 FTP server,又不想把 FTP server登录的用户名和密码存在脚本里,想做这样的参数化如何实现呢?

upload_to_ftp.bat [hostname] [username] [password] [local_path] [remote_pat]

windows batch 由于它的局限性,在实现上是比较麻烦的,但还是有办法。如何用 windows batch 来实现呢?借助一个临时文件,把需要的参数写入到临时文件里,然后通过 ftp -s 参数读取文件,最后把临时文件删除的方式来实现。

@echo offset ftp_hostname=%1set ftp_username=%2set ftp_password=%3set local_path=%4set remote_path=%5if %ftp_hostname%! == ! ( echo "ftp_hostname not set correctly" & goto USAGE )if %ftp_username%! == ! ( echo "ftp_username not set correctly" & goto USAGE )if %ftp_password%! == ! ( echo "ftp_password not set correctly" & goto USAGE )if %local_path%! == ! ( echo "local_path not set correctly" & goto USAGE )if %remote_path%! == ! ( echo "remote_path not set correctly" & goto USAGE )echo open %ftp_hostname% > ftp.txtecho user %ftp_username% %ftp_password% >> ftp.txtecho cd %remote_path% >> ftp.txtecho lcd %local_path% >>ftp.txtecho prompt off >>ftp.txtecho bin >> ftp.txtecho mput * >> ftp.txtecho bye >> ftp.txtftp -n -s:ftp.txtdel ftp.txtgoto END:USAGEecho.echo.   - -------------------------------------------------------------------------------echo.   - upload_to_ftp.bat [hostname] [username] [password] [local_path] [remote_pat]  -echo.   - Example:                                                                      -echo.   - upload_to_ftp.bat 192.168.1.1 guest guest D:/Media/* C:/Builds/               -echo.   - -------------------------------------------------------------------------------echo.:END
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
    无相关信息
栏目更新
栏目热门
本栏推荐