這篇文章主要介紹“如何使用FTP命令批量自動(dòng)下載bat文件”,在日常操作中,相信很多人在如何使用FTP命令批量自動(dòng)下載bat文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用FTP命令批量自動(dòng)下載bat文件”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)主打移動(dòng)網(wǎng)站、成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、域名與空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再?zèng)Q定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會(huì)規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。FTP不支持目錄的下載,不過FTP命令提供了mget命令,允許多文件下載,但每下載一個(gè)文件都需要確認(rèn),不能自動(dòng)完成。本文主要介紹使用批處理,結(jié)合FTP的相關(guān)命令來實(shí)現(xiàn)批量文件的下載,以便達(dá)到目錄下載的目的。
大致想法如下:
ftp -s:filename hosts >result.txt 執(zhí)行腳本,并將結(jié)果定向輸出到result.txt
腳本內(nèi)容,如
cd mydir
ls
bye
可以將mydir命令列出
然后使用批處理分析result.txt
從150 Opening ASCII mode data connection for file list.的下一行開始算,直到226 Transfer complete都是要下載的內(nèi)容
然后用批處理加ftp腳本,使用get命令逐個(gè)下載
但實(shí)際過程中發(fā)現(xiàn),在FTP腳本中使用get有問題,提示參數(shù)錯(cuò)誤,無法使用。
查看了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.
發(fā)現(xiàn) -i 參數(shù)可以去除mget的提示,經(jīng)過測試,實(shí)現(xiàn)了如下腳本(使用了匿名登入,如果非匿名,可以修改登入腳本):
echo cd autoruns>ftp.txt
echo mget *>>ftp.txt
echo bye>>ftp.txt
ftp -i -A -s:ftp.txt 10.1.103.10
不過,這只是下載了目錄中的文件,如果有子目錄,那還需要用dir命令輸出,并轉(zhuǎn)向輸出到文本,用find來提取目錄,如:
echo cd autoruns>ftp.txt
echo dir>>ftp.txt
echo bye>>ftp.txt
ftp -A -s:ftp.txt 10.1.103.10 |find "<DIR>">result.txt
for /f "tokens=2,3*" %%i in (result.txt) do echo %%k
如有子文件夾,那就要深入編寫了。
經(jīng)過編寫測試,實(shí)現(xiàn)如下腳本,運(yùn)行環(huán)境WINXP SP2,運(yùn)行通過,未載其它系統(tǒng)上測試過:
1、主要腳本ftpget.bat,更改前4個(gè)變量的相關(guān)信息,該腳本調(diào)用makeTree.bat,請參見2
rem FTP服務(wù)器地址
set host=10.1.103.10
rem FTP登入名,如果匿名不用改
set user=anonymous
rem FTP登入密碼,如果匿名不用改
set pass=123456
rem 需要下載的FTP目錄,如果下載子目錄以分格
set dirname=目錄1子目錄
set homedir=%cd%
rem 生成FTP目錄結(jié)構(gòu)
del tree.txt
start /w cmd /c makeTree %dirname% 0
del result*.txt
for /f "delims=/" %%i in (tree.txt) do (
rem 獲取dirname的所有文件
rem =============================
cd %homedir%
md %%i
cd /d %%i
echo %user%>ftp.txt
echo %pass%>>ftp.txt
echo cd %%i>>ftp.txt
rem mget *.* 下載所有文件,但不能下載無擴(kuò)展名的文件;
rem 如果使用mget * 可以下載所有文件,但會(huì)把子目錄的文件也下載過來
echo mget *.*>>ftp.txt
echo bye>>ftp.txt
ftp -i -A -s:ftp.txt %host%
del ftp.txt
rem ==============================
)
cd %homedir%
del tree.txt
2、maketree.bat,生成FTP目錄樹
rem 生成FTP目錄結(jié)構(gòu)
rem 調(diào)用方法 maketree dir1dir2 n (n>=1)
rem %1 == dir1dir2
rem %2 == n
set /a treetime=%2+1
echo %1 >>tree.txt
echo %user% >ftp%treetime%.txt
echo %pass% >>ftp%treetime%.txt
echo cd %1 >>ftp%treetime%.txt
echo dir >>ftp%treetime%.txt
echo bye >>ftp%treetime%.txt
ftp -A -s:ftp%treetime%.txt %host% |find "<DIR>">result%treetime%.txt
for /f "tokens=2,3*" %%i in (result%treetime%.txt) do (start /w cmd /c Maketree.bat %1%%k %treetime%)
del result%treetime%.txt
del ftp%treetime%.txt
到此,關(guān)于“如何使用FTP命令批量自動(dòng)下載bat文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
文章標(biāo)題:如何使用FTP命令批量自動(dòng)下載bat文件-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article8/djehop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、定制網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容