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 命令,如圖


第四 設置自動登錄

這裏針對有密碼用戶,沒有密碼跳過直接看下一步

自動登錄方式有很多,經過大量的測試,最後選擇自動登錄,然後在bat 文件內鎖定windows,這樣不影響文件運行,也可以密碼登錄安全


選擇本機登錄用戶,然後去掉對勾,應用,彈出密碼框,輸入密碼,確定,下次重啓登錄,將會自動登錄,但是密碼依然存在



第五    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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章