需求:从FTP某目录取每日构建的apk下载到本地

难点:文件名中有构建时间,而这个时间不算固定值,因此文件名不固定

解决方案:mget匹配文件名后下载

BAT版本:

:: Filename:Projectname_2019-03-04_0123.apk

@echo off
set date1=%date:~0,4%-%date:~5,2%-%date:~8,2%
set "str1=Projectname_"
set "Filename=%str1%%date1%"
echo %Filename% set h=10.0.0.1
set user=ftpusername
set passwd1=ftppassword
set ftpdir=/ftpdir
set localdir=D:\
echo open %h%>ftp.txt
echo %user%>>ftp.txt
echo %passwd1%>>ftp.txt
echo prompt off >>ftp.txt
echo cd "%ftpdir%" >>ftp.txt
echo lcd "%localdir%">>ftp.txt
echo mget "%Filename%*.apk">>ftp.txt
echo close>>ftp.txt
echo bye>>ftp.txt ftp -s:ftp.txt

Shell版本:

#!/bin/bash

ftp=10.0.0.1
user=ftpusername
pwd=ftppassword
date=`date +%Y-%m-%d`
filename="Projectname_${date}"
dir=/tmp/
echo $date,$filename ftp -n<<!
open $ftp
user $user $pwd
binary
cd dir
dir ${filename}*
mget ${filename}*
close
bye
!

BAT与Shell差别

1.mget语法

Bat:mget "%Filename%.apk"

Shell:mget ${filename}

2.Bat运行mget时,默认需回应y,如需自动下载,得加命令:prompt off关闭交互式提示

FTP:mget匹配文件名后下载的更多相关文章

  1. ftp 根据特定正则匹配文件名 下载到本地 并且上传文件到ftp java *** 最爱那水货

    /** * 建立FTP链接,FTP服务器地址.端口.登陆用户信息都在配置里配置即可. * @throws IOException */ public boolean connectFtp(String ...

  2. Java实现FTP文件上传与下载

    实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方式 package com.cl ...

  3. Java ftp 上传文件和下载文件

    今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...

  4. java利用poi生成excel文件后下载本地

    1.该功能需要poi的jar包,链接: http://pan.baidu.com/s/1migAtNq 密码: 38fx. 2.首先新建一个实体类,用以存放单个数据 public class Test ...

  5. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  6. shell 和python 实现ftp文件上传或者下载

    一.shell脚本 #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<<!open 172.168.1 ...

  7. Linux如何查找处理文件名后包含空格的文件

    Linux如何查找处理文件名后包含空格的文件   当Linux下文件名中出现空格这类特殊情况话,如何查找或确认那些文件名后有空格呢? 又怎么批量替换处理掉这些空格呢? 方法1: 输入文件名后使用Tab ...

  8. PrestaShop 1.7 订单生成后下载服务器出现 505 的错误

    PrestaShop 生成订单后下载,服务器上有 505 的错误. 经查看应该是服务器上的错误: Allowed memory size of 134217728 bytes exhausted (t ...

  9. FTP mget without prompt

    # ftp 192.168.100.2Connected to 192.168.100.2.220 Microsoft FTP ServiceName (192.168.100.2:root): ja ...

随机推荐

  1. Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)

    目录 Python5大擅长领域 WEB开发 网络编程 科学运算 GUI图形开发 运维自动化 Python在世界上的知名应用 国外 谷歌 CIA NASA YouTube Dropbox Instagr ...

  2. 在SQL Server中如何进行UPDATE TOP .....ORDER BY?

    前言 今天在导入数据到系统后需要根据时间排序对刚导入的TOP N条进行数据更新,之前没遇到过UPDATE TOP...ORDER BY,以此作为备忘录. SQL SERVER之UPDATE TOP.. ...

  3. 开放数据接口 API 简介与使用场景、调用方法

    此文章对开放数据接口 API 进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用. 在给大家分享的一系列软件开发视频课程中,以及在我们的社区微信群聊天中,都积极地鼓励大家开 ...

  4. 小小知识点(四)——MATLAB如何画等高线图和线性规划约束方程

    MATLAB程序: figure contourf(x,y,data) % 画等高线 hold on plot(x,y(x)) %画线性规划约束方程1 hold on plot(y,x(y)) %画线 ...

  5. jdk 动态代理的原理

    一.代理设计模式 代理设计模式是Java常用的设计模式之一. 特点: 01.委托类和代理类有共同的接口或者父类: 02.代理类负责为委托类处理消息,并将消息转发给委托类: 03.委托类和代理类对象通常 ...

  6. Django之ORM

  7. dubbo在idea下的使用创建 服务者,消费者 注册中心

    1.基于windows 下  spring 下的dubbo  需要书写配置文件 (1).创建带有web工程的项目 创建一个服务者 package cn.edu.aynu.bean; import lo ...

  8. JAVA并发包学习

    1)CyclicBarrier一个同步辅助类,允许一组线程相互等待,直到这组线程都到达某个公共屏障点.该barrier在释放等待线程后可以重用,因此称为循环的barrier 2)CountDownLa ...

  9. Python——逻辑运算(or,and)

    print(0 and 2 > 1) #结果0 print(0 and 2 < 1) #结果0 print(1 and 2 > 1) #结果True print(1 and 2 &l ...

  10. Python——使用Pycharm连接数据库