使用FTP下載目錄,即FTP命令批量自動下載的bat檔案 - 程式前沿
文章推薦指數: 80 %
FTP不支援目錄的下載,不過FTP命令提供了mget命令,允許多檔案下載,但每下載一個檔案都需要確認,不能自動完成。
本文主要介紹使用批處理,結合FTP的 ...
程式語言前端開發IOS開發Android開發雲端運算人工智慧伺服器搜尋資料庫軟體開發工具使用FTP下載目錄,即FTP命令批量自動下載的bat檔案2018.07.10前端開發使用FTP下載目錄,即FTP命令批量自動下載的bat檔案HOME前端開發使用FTP下載目錄,即FTP命令批量自動下載的bat檔案AdvertisementFTP不支援目錄的下載,不過FTP命令提供了mget命令,允許多檔案下載,但每下載一個檔案都需要確認,不能自動完成。
本文主要介紹使用批處理,結合FTP的相關命令來實現批量檔案的下載,以便達到目錄下載的目的。
大致想法如下:ftp -s:filename hosts >result.txt 執行指令碼,並將結果定向輸出到result.txt指令碼內容,如cd mydirlsbye可以將mydir命令列出然後使用批處理分析result.txt從150 Opening ASCII mode data connection for file list.的下一行開始算,直到226 Transfer complete都是要下載的內容然後用批處理加ftp指令碼,使用get命令逐個下載 但實際過程中發現,在FTP指令碼中使用get有問題,提示引數錯誤,無法使用。
檢視了ftp的幫助ftp-?G:>ftp -?Transfers files to and from a computer running an FTP server service(sometimes called a daemon). Ftp can be used interactively.FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host] -v Suppresses display of remote server responses. -n Suppresses auto-login upon initial connection. -i Turns off interactive prompting during multiple file transfers. -d Enables debugging. -g Disables filename globbing (see GLOB command). -s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts. -a Use any local interface when binding data connection. -A login as anonymous. -w:buffersize Overrides the default transfer buffer size of 4096. host Specifies the host name or IP address of the remote host to connect to.Notes: – mget and mput commands take y/n/q for yes/no/quit. – Use Control-C to abort commands.發現-i引數可以去除mget的提示,經過測試,實現瞭如下指令碼(使用了匿名登入,如果非匿名,可以修改登入指令碼):echo cd autoruns>ftp.txtecho mget *>>ftp.txtecho bye>>ftp.txtftp -i -A -s:ftp.txt 10.1.103.10 不過,這只是下載了目錄中的檔案,如果有子目錄,那還需要用dir命令輸出,並轉向輸出到文字,用find來提取目錄,如:echo cd autoruns>ftp.txtecho dir>>ftp.txtecho bye>>ftp.txtftp -A -s:ftp.txt 10.1.103.10 |find “
經過編寫測試,實現如下指令碼,執行環境WINXPSP2,執行通過,未載其它系統上測試過:1、主要指令碼ftpget.bat,更改前4個變數的相關資訊,該指令碼呼叫makeTree.bat,請參見2rem FTP伺服器地址set host=10.1.103.10rem FTP登入名,如果匿名不用改set user=anonymousrem FTP登入密碼,如果匿名不用改set pass=123456rem 需要下載的FTP目錄,如果下載子目錄以分格set dirname=目錄1子目錄set homedir=%cd%rem 生成FTP目錄結構del tree.txtstart /w cmd /c makeTree %dirname% 0del result*.txtfor /f “delims=/” %%i in (tree.txt) do (rem 獲取dirname的所有檔案rem =============================cd %homedir%md %%icd /d %%iecho %user%>ftp.txtecho %pass%>>ftp.txtecho cd %%i>>ftp.txtrem mget *.* 下載所有檔案,但不能下載無副檔名的檔案;rem 如果使用mget * 可以下載所有檔案,但會把子目錄的檔案也下載過來echo mget *.*>>ftp.txtecho bye>>ftp.txtftp -i -A -s:ftp.txt %host%del ftp.txtrem ==============================)cd %homedir%del tree.txt2、maketree.bat,生成FTP目錄樹rem 生成FTP目錄結構rem 呼叫方法 maketree dir1dir2 n (n>=1)rem %1 == dir1dir2rem %2 == nset /a treetime=%21echo %1 >>tree.txtecho %user% >ftp%treetime%.txtecho %pass% >>ftp%treetime%.txtecho cd %1 >>ftp%treetime%.txtecho dir >>ftp%treetime%.txtecho bye >>ftp%treetime%.txtftp -A -s:ftp%treetime%.txt %host% |find “
get在FTP指令碼中出錯也不知為何。
相關資訊參考: 使用FTP批處理指令碼,Ftp子命令目錄1.您可能感興趣的文章:您可能感興趣的文章:實現自動上傳檔案到ftp伺服器的BAT指令碼分享批處理bat下載FTP伺服器上某個目錄下的檔案批處理bat下載FTP伺服器上指定天數之前的檔案備份檔案並上傳至FTP伺服器的bat程式碼linux和windows下的自動ftp指令碼(shellbat)Bat指令碼處理ftp超強案例分析windows下定時利用bat指令碼實現ftp上傳下載Advertisement写评论取消回覆很抱歉,必須登入網站才能發佈留言。
近期文章Spark入門(一)用SparkShell初嘗Spark滋味2019.12.08Spark入門(二)如何用Idea運行我們的Spark項目2019.12.08Spark入門(三)Spark經典的單詞統計2019.12.08Spark入門(四)Spark的map、flatMap、mapToPair2019.12.08Spark入門(五)Spark的reduce和reduceByKey2019.12.08Spark入門(六)Spark的combineByKey、sortBykey2019.12.08Spark入門(七)Spark的intersection、subtract、union和distinct2019.12.08Spark實戰尋找5億次訪問中,訪問次數最多的人2019.12.08Spark實戰搭建我們的Spark分佈式架構2019.12.08【機器學習】深度學習開發環境搭建2019.12.08AdvertisementAdvertisement
延伸文章資訊
- 1Ftp命令--mget - IT閱讀 - ITREAD01.COM - 程式入門教學
配合bat檔案就可實現自動定時任務了。 常用命令及用法: ... windows下的FTP命令. 假設要連線的FTP資訊如下: FTP Server: ...
- 2FTP mget命令_xgugu1210的博客
mget 命令可以一次性下载多个文件,支持通配符FILE=*. ... linux系统mget使用方法,Linux ftp命令的使用方法详解 · weixin_34182361的博客. 04-2...
- 3mget命令, ftp命令详解- wajika - 博客园
- 4FTP命令詳解(含操作例項) - IT閱讀
遠端FTP伺服器:192.168.65.131 redhat 5 vsftp ... help - 顯示FTP命令幫助資訊(用法通”?“) ... mget - 複製一個或多個遠端檔案至本地.
- 5使用網路工具(II) - ftp
因此,使用網路,不可不知ftp 之用法。ftp 能夠發揮網路的強大功能,真正達到資訊流通的目的。 ... 11. mget remote-files 一次get 多個檔案,按CTRL-C中斷。