[windows]快速从ftp下载最新软件包的批处理脚本

简介:

背景

由于敏捷开发,快速迭代,我们项目一天会有三个版本,也就意味着我一天要去获取三次软件包。我负责服务端开发,所以我经常需要去拿最新的客户端。我们的客户端放置在一个公共的ftp上面。每天频繁登陆ftp下载,或者使用ftp工具,每次都要点击同步,都不太方便。如果在linux下就好了,然而在windows也是可以运行脚本的,何不尝试下呢。

完整代码

  批处理脚本

运行脚本

运行脚本

逐步解释

获取文件列表

复制代码
echo open %ftp_ip% > %f_info%
echo user %ftp_user% >> %f_info%
echo %ftp_pass%>> %f_info%
echo prompt >> %f_info%
echo binary >> %f_info%
echo cd %ftp_path% >> %f_info%
echo ls . %f_list% >> %f_info%
echo lcd %f_tmp% >> %f_info%
echo disconnect >> %f_info%
echo bye >> %f_info%

ftp -v -n -s:%f_info%
复制代码

这部分代码主要有以下几个作用:

    1. 将ftp的命令写入到文件;
    2. 在ftp上获取对应目录的文件列表,并写到本地文件下。

获取最新的一个文件

for /f "delims=" %%i in ('type "%f_list%"') do (
    set "target_7z=%%i"
)

然后循环遍历文件列表,最终获取到最后一个列表(也就是最新的文件名)。

下载最新文件

复制代码
echo open %ftp_ip% > %f_info%
echo user %ftp_user% >> %f_info%
echo %ftp_pass%>> %f_info%
echo prompt >> %f_info%
echo binary >> %f_info%
echo cd %ftp_path% >> %f_info%
echo lcd %f_tmp% >> %f_info%
echo get %target_7z%>> %f_info%
echo disconnect >> %f_info%
echo bye >> %f_info%

ftp -v -n -s:%f_info%
复制代码

有了文件名,我们就可以再执行一次ftp命令,下载我们最新的文件了。以上就实现了动态下载最新文件了。

解压

这边我们使用的软件包是7z打包的。所以也要下载7z解压工具。
官方地址:http://www.7-zip.org/
然后下载到命令行版,放置到任意可读取目录就可以了。

call tools\7z\x64\7za.exe x %f_tmp%\%target_7z%

后话

平常习惯了在linux下倒腾。可以写些脚本做些繁琐的事情,但是在windows经常就傻眼了。可视化的东西是有很多好处,但是也有些弊端。批处理脚本虽然不好用,但也并不是不可用。很多时候也可以带来很大的方便。当然会python、ruby这些脚本语言其实也是完全可以满足的。毕竟现在这年头批处理这种东西用的越来越少了。windows shell也可以,但是感觉也不太好用。

参考资料

相关文章
|
3月前
|
Go Windows
windows安装scoop/annie下载B站等视频
windows安装scoop/annie下载B站等视频
42 0
|
3月前
|
存储 Java Windows
Java21 JDK下载安装及Windows环境变量配置
JDK是Java的开发工具包,要进行Java学习或开发之前,需先下载安装,下载地址如下:提示:这网址里面有三个扩展名的文件,分别是“.zip”、“.exe”和“.msi”,鄙人选择的是.exe的文件,下方的安装和环境的配置也是安装该文件的安装程序进行的。
286 2
|
14天前
|
Windows
【Windows】 手写脚本更快编辑hosts文件
【Windows】 手写脚本更快编辑hosts文件
15 0
|
1月前
|
Shell Python Windows
通过Python实现win11环境下FTP的上传与下载
通过Python实现win11环境下FTP的上传与下载
|
1月前
|
监控 安全 Java
ElasticSearch在Windows上的下载与安装
ElasticSearch在Windows上的下载与安装
|
2月前
|
Java
java上传、下载、预览、删除ftp服务器上的文件
java上传、下载、预览、删除ftp服务器上的文件
|
6月前
|
Windows
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
​史上最详细的Windows10系统离线安装.NET Framework 3.5的方法(附离线安装包下载)
584 0
|
2月前
|
关系型数据库 MySQL 开发工具
【开发工具专题_02】windows操作系统下载与安装mysql8.0.18教程
【开发工具专题_02】windows操作系统下载与安装mysql8.0.18教程
|
3月前
|
Oracle 安全 Java
怎样在Windows系统下载安装JDK?
本文介绍怎样在Windows系统下载安装JDK。
42 0
|
4月前
|
Windows
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
Windows【工具 01】视频下载工具BBDown.exe详细使用说明(https://github.com/nilaoda/BBDown)mp4格式无法识别问题处理(最新版本1.6.1网盘分享)
220 0