ftp 自动下载文件并解压

前几天为了工作想将Ftp文件自动下载解压然后将数据导入到excel,这样上班后就可以直接应用数据了,开始想看好多办法,比如PHP VB 等,但是最后都觉得不太好用,采用了系统自带的DOS 系命令,不过这个DOS 真是不太好用啊,研究了三天,就写了不到100 行的代码,但是最后还是成功了,跟大家分享一下

第一就是自动开机了,自动开机可以自电脑启动时进入主板设置,   电源管理 -> RTC 唤醒时间

第二 开机后自动运行bat 文件,这个设置直接百度吧,这个http://jingyan.baidu.com/article/bad08e1e9b06ee09c8512103.html  是别人写的

第三 cmd 实现rar 解压缩:首先下载安装winRAR软件,安装后默认安装在C:\Program Files\WinRAR 下了,或者安装时注意一下安装路径,安装完毕将安装路径下winRAR.exe  复制到  C:\Windows 下并将WinRAR.exe 重命名rar.exe         目的是为了在cmd 命令下能够应用WinRAR 软件,完成后再cmd命令下可以直接使用rar 命令,如图

《ftp 自动下载文件并解压》

第四 设置自动登录

这里针对有密码用户,没有密码跳过直接看下一步

自动登录方式有很多,经过大量的测试,最后选择自动登录,然后在bat 文件内锁定windows,这样不影响文件运行,也可以密码登录安全

《ftp 自动下载文件并解压》

选择本机登录用户,然后去掉对勾,应用,弹出密码框,输入密码,确定,下次重启登录,将会自动登录,但是密码依然存在

《ftp 自动下载文件并解压》

第五    ftp 网盘的文件 自动下载下来保存解压

上代码:

@echo off&setlocal enabledelayedexpansion
if  %time:~0,2% leq 9 (goto:next) else goto:finish  ##设置    当前时间小于9点执行,大于9点不在执行,目的是防止工作是必要重启电脑重复下载
:next
%windir%\System32\rundll32.exe user32.dll,LockWorkStation       ##锁定windows 目的是如果有密码前面设置了自动登录后直接登录了,这样登录后不安全,需要密码登录
set desktop=E:\Desktop                                                                            ##设置下载后的文件以及自动生成的excel 文件保存的位置
echo %time:~0,11%>c:\filename.txt                                                         ##输出时间到文件
echo WScript.sleep 5000 > sleep.vbs ##输出到文件
echo open 192.168.1.108>ftp.txt ##输出到文件  ftp ip地址
echo administrator>>ftp.txt ##输出到文件  ftp 用户名
echo 111>>ftp.txt ##输出到文件  ftp密码
echo dir / localfile.txt>>ftp.txt
echo quit>>ftp.txt
echo 欢迎使用ftp 自动下载工具
set /a t=4
:loop
set /a var=0
set d=%date:~0,10%
::set t=%time:~0,2%
echo %d%>tet.txt
if %t% leq 9 (set td=0%t%)else set td=%t%
echo 时间为%date:~2,8%-%time:~0,8%
for /f “tokens=1,2* delims=/” %%a in (tet.txt) do set d=xstz_%%a%%b%%c%td%
echo 文件名应为 %d%
echo 建立ftp 连接……
FTP -s:ftp.txt
echo 搜索要下载的文件….
for /f “tokens=1,2,3,4,5,7 delims=:- ” %%a in (localfile.txt) do if “%%f”==”%d%.zip” (set /a var=1)
echo 搜索文件数为:%var%
echo %t%
Wscript sleep.vbs
if %var% geq 1 (goto:ftpDownLoad) else (if %t% leq 20 (set /a t=t+1) else set /a t=4 ) && goto:loop
echo 查找文件成功准备下载!!
:ftpDownLoad
echo 下载
echo open 192.168.1.108>ftps.txt
echo administrator>>ftps.txt
echo 111>>ftps.txt
echo lcd %desktop%>>ftps.txt
echo prompt>>ftps.txt
echo hash>>ftps.txt
echo bin>>ftps.txt
echo cd />>ftps.txt
echo mget %d%.zip>>ftps.txt
echo quit>>ftps.txt
echo %desktop%>>c:\filename.txt
echo ftp下载开始时间: %time:~0,8%>>c:\filename.txt
FTP -s:ftps.txt
del tet.txt
del localfile.txt
del ftp.txt
del ftps.txt
del sleep.vbs
mkdir %desktop%\%d%
echo ftp下载结束时间: %time:~0,8%>>c:\filename.txt
echo 100>>c:\filename.txt
echo %d%>>c:\filename.txt
echo 导入excel时间: %time:~0,8%>>c:\filename.txt
rar e -o+ %desktop%\%d%.zip %desktop%\%d%                            ##执行解压缩
1.xlsm
:finish

第六 excel 文件自动执行                                                                         excel 处理这里不写了,有需要的可以跟我联系

Private Sub Workbook_Open()
msgbox “哈哈,我是自动运行的呦”
End Sub

bat 文件以及excel 处理文件,在下面可以下载到,分享给大家,共同学习,但是大家不要转走去卖钱呀

链接: http://pan.baidu.com/s/1qYjOL7Q 密码: h3rr

    原文作者:momosjy
    原文地址: https://blog.csdn.net/liliaq/article/details/54572147
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞