Board logo

标题: [文件操作] 登陆ftp上取报表文件到本地如何写成批处理 [打印本页]

作者: emoboy    时间: 2020-7-31 21:34     标题: 登陆ftp上取报表文件到本地如何写成批处理

取报表文件的流程

1、 定位到电脑的e:\zfprt目录

2、 在该目录下以昨天日期为名字,创建一个子目录

3、 ftp 21.98.130.208 ftp用户 dsserver 密码 hdsserver

4、 进入ftp这个报表目录/usr/dsserver/print

该目录下有很多文件夹,以日期命名的,比如20200730每个日期文件内有数个报表文件

5、 以bin方式来获取ftp,在dos状态输入bin命令

6、 再输入prompt命令,以便mget时不会提示

7、 mget 上一日的日期目录下的所有报表文件,下载到第2步创建的电脑文件夹内。

8、下载完毕后,如果有dos窗口就自动关闭dos窗口。

需要将以上步骤全部用批处理化
作者: Batcher    时间: 2020-7-31 21:56

回复 1# emoboy
  1. @echo off
  2. set DaysAgo=1
  3. for /f %%i in ('powershell -c "Get-Date (Get-Date).AddDays(-%DaysAgo%) -uformat "%%Y%%m%%d""') do (
  4.     set "DstDate=%%i"
  5. )
  6. rem 指定FTP用户名
  7. set "ftpUser=dsserver"
  8. rem 指定FTP密码
  9. set "ftpPass=hdsserver"
  10. rem 指定FTP服务器地址
  11. set "ftpIP=21.98.130.208"
  12. rem 指定待下载的文件位于FTP服务器的哪个目录
  13. set "ftpFolder=/usr/dsserver/print/%DstDate%"
  14. rem 指定从FTP下载下来的文件存放到本机哪个目录
  15. set "LocalFolder=E:\zfprt"
  16. set ftpFile=%temp%\TempFTP.txt
  17. >"%ftpFile%" (
  18.     echo,%ftpUser%
  19.     echo,%ftpPass%
  20.     echo cd "%ftpFolder%"
  21.     echo lcd "%LocalFolder%"
  22.     echo bin
  23.     echo mget *.*
  24.     echo bye
  25. )
  26. start ftp -v -i -s:"%ftpFile%" %ftpIP%
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2