當前位置:首頁 » 文件管理 » ftp自動下載

ftp自動下載

發布時間: 2022-01-12 13:35:32

① 由bat批處理做成的ftp自動下載,怎麼才能不自動覆蓋

。用其它軟體建的FTP伺服器我沒用過,不清楚dir命令返回結果的的格式。有問題可以Hi。
大體的工作流程是這樣。首先遠程文件夾列表是空的,寫入一行「/」(遠程根文件夾)。然後開始循環。第n次循環,獲取運程文件夾列表第n行文件夾內的子文件夾和文件的列表,處理獲取的這個列表,把列表裡的子文件夾加入遠程文件夾列表,把列表裡的文件下載下來。一直循環,直到最後遠程文件夾列表第n行為空。

如果不需要保存文件夾結構,可以用 lanny119 的方法,用mget命令下載全部文件。

rem setlocal批處理中所作的環境更改隻影響本批處理。前面加@的作用,不顯示此行命令本身
@setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
rem 顯示命令本身 關
@echo off
rem 填ftp伺服器地址或域名
set ftpsvr=
rem 填用戶名
set user=
rem 填密碼
set pass=
rem 填保存備份的文件夾
set archdir=D:\backup
rem 填WinRAR安裝文件夾,如:C:\Program Files\WinRAR
set rardir=
rem 把要使用的臨時文件夾的路徑設為環境變數mytemp
set mytemp=%temp%\ftp.x
rem 防止可能的同名文件夾或文件存在影響工作,全刪一遍。>nul不顯示回顯 2>nul不顯示錯誤信息
rd /s /q "%mytemp%">nul 2>nul
del /a /f "%mytemp%">nul 2>nul
md "%mytemp%"

rem 把一個斜杠寫到%mytemp%\rdl裡面。斜杠表示遠程的根文件夾。rdl用作保存遠程文件夾列表。
echo />"%mytemp%\rdl"
rem 已下載文件的遠程文件夾計數
set dcount=0
rem 標號 cycle
:cycle
rem 獲取遠程文件夾內的文件和子文件夾列表。
rem 因為下面那個for要被執行多次,非第一次執行要跳過已處理的行,所以要寫skip=n。
rem 但是,第一次執行時,寫個skip=0出錯。所以第一次執行時不寫ship= 。
if %dcount%==0 set oo=
if not %dcount%==0 set oo=^ skip=%dcount%
rem 跳過指定的行數,每次從rdl文件中取一行賦給%%I。
for /f "tokens=*%oo%" %%I in (%mytemp%\rdl) do (
rem 為ftp准備命令文件(獲取文件列表用)。第一行用的>替換ftpcmd文件的內容,>>追加。
echo open %ftpsvr%>"%mytemp%\ftpcmd"
echo %user%>>"%mytemp%\ftpcmd"
echo %pass%>>"%mytemp%\ftpcmd"
rem 寫入的內容為更改遠程工作目錄為for語句取到的目錄。
echo cd "%%I">>"%mytemp%\ftpcmd"
rem 寫入的內容為獲取遠程工作目錄里的文件和子文件夾列表,保存到dir文件。
echo dir -a "%mytemp%\dir">>"%mytemp%\ftpcmd"
echo bye>>"%mytemp%\ftpcmd"
rem 以指定命令文件的方式執行ftp語句。回顯內容太多,不顯示。
ftp -s:"%mytemp%\ftpcmd">nul

rem 下面是處理獲取的dir文件及准備命令文件(下載文件用)。
echo open %ftpsvr%>"%mytemp%\ftpcmd"
echo %user%>>"%mytemp%\ftpcmd"
echo %pass%>>"%mytemp%\ftpcmd"
echo cd "%%I">>"%mytemp%\ftpcmd"
set ff=
rem 每次從dir文件中取一行的第三段和第三段後面所有的(tokens=3*)。
for /f "tokens=3*" %%K in (%mytemp%\dir) do (
rem 如果第三段等於<DIR>,是文件夾,加入rdl。<和>不加^為輸入輸出重定向符號。
rem %%L為第四段,如果還有更多部分,MN…類推。
if %%K==^<DIR^> echo %%I%%L/>>"%mytemp%\rdl"
rem 是文件,加入命令文件准備下載。
if not %%K==^<DIR^> (
echo recv "%%L">>"%mytemp%\ftpcmd"
rem 顯示要下載的文件。
echo 下載 %%I%%L ···
set ff=1
)
)
rem 用環境變數的字元串替換功能把斜杠替換成Win的反斜杠。
set ss=%%I
set ss=!ss:/=\!
rem 在臨時文件夾里建立對應文件夾。
md "%mytemp%\root!ss!"
rem !為環境變數延遲擴充符號,不在語句塊被執行時擴充,而是延遲到本條語句被執行時擴充。
rem 有文件要下載才執行裡面的。
if !ff!==1 (
echo bye>>"%mytemp%\ftpcmd"
rem 更改本地目錄到對應文件夾。
cd /d "%mytemp%\root!ss!"
ftp -s:"%mytemp%\ftpcmd">nul
)
rem 處理完一個文件夾,計數加一。
set /a dcount=!dcount!+1
)
rem 前面for語句讀入rdl並處理,在處理中rdl又可能有行被加入。
rem 如果計數沒變化,說明rdl中沒有要處理的行了,轉到標號compress。
if "%dcount%"=="%lstdcount%" goto :compress
rem 沒轉走就記錄計數,轉到標號cycle。
set lstdcount=%dcount%
goto :cycle

:compress
echo 壓縮已下載的文件···
rem 子命令a,添加文件到壓縮文件。開關-ep1,壓縮文件中文件不帶源文件基本路徑。
rem 開關-o+,覆蓋開。開關-r,包含子文件夾。開關-agYYYYMMDD,日期作為存檔文件名。
"%rardir%\rar.exe" a -ep1 -o+ -r -agYYYYMMDD "%archdir%\" "%mytemp%\root\*">nul
cd "%temp%"
rem 刪除臨時文件夾。
rd /s /q "%mytemp%"

本地WinXP簡體中文,遠程IIS,通過。
這樣可以保存文件夾結構。不足是太復雜,不能下載隱藏文件。不知道有沒有簡單的方法及下載隱藏文件的方法。

② 怎麼用filezilla自動下載FTP文件

你要知道伺服器的IP還有伺服器的FTP賬號和密碼。然後打開filezilla,點擊連接ftp的按鈕,輸入伺服器Ip、ftp賬號和密碼,點擊連接就連接到伺服器了。然後你看你要下載那些文件,直接點一下他們,然後拖到左邊的本地窗口裡,就會自動下載下來了。

③ 請教高手,用批處理命令FTP自動下載文件。

① 如果我理解沒錯,遠端目錄,最深層的那個子目錄(名稱是日期)的那個,每天都是變的;你要下載的是裡面的文件(不含子目錄);文件下載到本地E:dzyl下,而且目錄也是按伺服器上的日期創建。

② 批處理固定每天運行,從伺服器前一天的目錄下載文件。


如果理解正確,那麼下面的代碼可以實現(已測試過),ip地址你需要修改!你的操作系統如果是英文,也需呀修改(具體看腳本中的提示)

@echooff&
set"ftp_site=19.6.5.34"
set"ftp_id=pracq"
set"ftp_pwd=123456"
set"ftp_remote_dir=/ftp/bos/at/pracq/"
set"ftp_local_dir=E:dzyl"
:100
set"ftpcmd={{%random%}}.ftp"
ifexist%ftpcmd%goto100

::英文系統用下面這個,把下面一行中的::去除
::set"today=%date:~6,4%%date:~0,2%%date:~3,2%"
::中文系統用下面這個,如果是英文,在下面一行句首添加::
set"today=%date:~0,4%%date:~5,2%%date:~8,2%"

settoday=!today:~0,4!-!today:~4,2!-!today:~-2!
call:Date2Day!today!1Yesterday
setftp_remote_dir=!ftp_remote_dir!!yesterday!
>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echobye
for/f%%iin('ftp-s:%ftpcmd%')doif{%%i}=={550}(
!
gotoend
)
setftp_local_dir=!ftp_local_dir!!yesterday!
md!ftp_local_dir!1>nul2>&1
ifnotexist!ftp_local_dir!(
!
gotoend
)

>%ftpcmd%echoopen!ftp_site!
>>%ftpcmd%echo!ftp_id!
>>%ftpcmd%echo!ftp_pwd!
>>%ftpcmd%echocd!ftp_remote_dir!
>>%ftpcmd%echolcd!ftp_local_dir!
>>%ftpcmd%echobinary
>>%ftpcmd%echopromptn
>>%ftpcmd%echomget*.*
>>%ftpcmd%echobye
set/acount=0
for/f%%iin('ftp-s:%ftpcmd%')do(
if{%%i}=={226}set/acount=!count%+1
)
if!count!gtr0(
echoDone.!count!file^(s^)downloaded.
)else(
echoNofilehasbeendownloaded.
)
gotoend

:Date2Day
::call:Date2Day2007-11-122Day
@echooff&setlocal
for/f"tokens=1-3delims=/-:,"%%ain('echo/%~1')do(
set/ayy=%%a,mm=100%%b%%100,dd=100%%c%%100
)
set/az=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set/aj=j/5+dd+y*365+y/4-y/100+y/400-2472633
set/ai=j-%~2,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set/ad=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set/add=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if%mm%LSS10setmm=0%mm%)&(if%dd%LSS10setdd=0%dd%)
endlocal&set%~3=%yy%%f%%mm%%f%%dd%&
goto:eof

:end
ifexist%ftpcmd%(typenul>%ftpcmd%&&del/f/q%ftpcmd%1>nul2>&1)
endlocal&@echoon

測試運行結果:

Done.5file(s)downloaded.

④ 如何打開一個ftp鏈接後直接下載文件

在管理界面設置文件訪問許可權

⑤ 自己做BAT腳本 通過FTP伺服器自動下載或上傳到本機電腦 公司裡面用的研究了很久

1. ftp.tmp 是用命令產生的一個ftp命令文本,這個文本在運行ftp命令之後會自動運行。
ftp.tmp 的內容是
open 192.168.10.10
bak
bak
mget * (這句就是下載所有文件)
bye
2. 要達到你上傳d:/1.txt,把批處理內容改為
@echo off
@echo xp的任務開始le...................
echo open 192.168.10.10>>ftp.tmp
echo bak>>ftp.tmp
echo bak>>ftp.tmp
echo put d:/1.txt>>ftp.tmp
echo bye>>ftp.tmp
ftp -i -s:ftp.tmp
del ftp.tmp
@echo 搞定收工。
@echo on

還有問題Q 7841983

⑥ ftp如何實現自動下載

CuteFTP
下載:http://www.mydown.com/soft/29/29512.html
漢化:http://www.mydown.com/soft/202/202959.html
使用方法
雙擊桌面上的CuteFTP快捷圖標,啟動CuteFTP程序。第一卧誦謝嶙遠��鯢TP Site Manager(FTP網站管理者)的對話框,如圖1所示,後面再詳細介紹。先點「Exit」退出。回到主程序界面進行必要的設置。
程序主界面
主界面分為四個主要部分,如圖2所示。
1.命令區域(工具欄和菜單):這是FTP站對使用者顯示的信息區,由這里可了解到該站信息,是否支持續傳,正在傳送什麼文件,是否已經斷線等當前連接狀況。
常用的CuteFTP功能按鈕(如圖3所示)介紹如下:
A:Site Manager--調用FTP Site Manager;
B:Quick Connect--快速連接。對於一個新的FTP站,可以連上看看,如符合需要,點擊Session / Add to database,取一個站名,便可將它加入 「FTP Site Manager」中進行詳細編輯設置;
C:Disconnect--中斷連接;
D:Reconnect--重新連接;
E:Upload--上傳文件;
F:Download--下載文件;
G:Short Directory Listing--只列出文件及目錄名稱;
H:Long Directory Listing--完整列出文件及目錄的詳細資料,這樣可以在傳完文件後,比較本地硬碟的文件大小與FTP站上的文件大小是否一致。如果不一致,則要續傳完整才行;
I、J、K:批處理功能組合鍵; L:View--檢視功能,只是用於文本文件;
M:Execute--執行文件。但不要輕易對FTP站中的文件進行執行操作,這樣會影響速度。 N:Edit--編輯遠程區域中的文件;
O:Rename Files--對文件重新命名;
P:Make new directory--建立新目錄;
Q:Refresh--刷新。重新整理當前目錄中的文件,在比較文件大小前,最好先刷新一下;
R:Stop--立即中斷文件傳輸。
2.本地區域(本地硬碟):顯示本地計算機的硬碟中要上傳(Upload)或下載(Download)的所在目錄及相關文件。
3.遠程區域(遠端伺服器):顯示FTP站的內容。
4.批處理、記錄區域:觀看文件傳輸的進程。可先把本地或遠程區域中的需要文件拖到這個窗口中,再決定是否傳輸。

設 置 篇

選擇下拉菜單的FTP項,選Settings / Options,出現一個有五個標簽的對話框。
1.「General」標簽(如圖4所示):
Mail Address:填入你的E-mail賬號,用作匿名登錄FTP站時的password。
Default Download Directory:預設下載文件存放目錄,如單獨創建一個目錄,會便於整理。
Text Files Viewer:文本文件的檢視工具。默認打開程序為「記事本」,也可以點擊右邊的「…」按鈕,選擇其他文本編輯軟體。
Log File:記錄傳送文件的過程資料。
Max safe index size:Index是指站點說明文件。這里設定index文件大小如果超過指定KB(預設10KB),即詢問是否下載。
Default Retry:設定如果因為FTP站忙而沒接上,程序會自動連接n次,預設值為20。 Start:啟動CuteFTP後使用哪種模式。預設為Site Manager(建議使用模式);
Quick Connect為快速連接;Nothing是直接進入CuteFTP的主程序工作窗口。
2.「Advanced」標簽(如圖5所示)。
Double-click Action:設定雙擊滑鼠左鍵執行什麼命令。預設為Transfer,即開始傳輸文件(建議);
Execute是執行文件(最好別用,除非你很有把握不會出錯);View是查看文件,只對文本文件有效;Nothing是什麼都不執行。
「Receive」和「Sand」是指接收緩沖區和傳送緩沖區的大小。如果在傳輸文件時非常緩慢,不妨試試把兩項都加大到16000。
3.「Display」標簽(如圖6所示)。
Tool Bar: 選擇「Big Buttons」會使用大的功能鍵,這樣看上去會醒目很多,不容易點錯,這項功能很體貼常在網上泡得頭暈眼花的蟲蟲們。
Customize:可以像Office97一樣任意增減功能鍵,排列成自己習慣的菜單。 Select Font:設定顯示字形的樣式及大小。
Colors:顯示訊息及字形顏色。 Reset to defaults:恢復默認的設定值。
4.「Prompts」和「Firewall」標簽(如圖7、圖8所示): 關於操作提示和防火牆的設定,普通用戶使用預設值就行了。

使 用 篇

單擊按鈕,開啟FTP Site Manager。CuteFTP收集了很多著名的FTP站點地址,用滑鼠在「Anonymous FTP Sites」文件夾中選擇你想連接的站點,單擊「Connect」即可連接了。如果想新增一個FTP站點,則單擊「Add Site」,會彈出如圖9所示的對話框。
1.Site Label:任意填寫站名,它起到一個標題作用。如填上筆者的「紅帆船電腦網路工作室」。
2.Host Address:填入FTP伺服器的IP地址或域名,例如免費主頁在太陽城,就要填上它的IP地址:202.98.35.14。注意不要用ftp://或http://開頭。
3.User ID:填寫你的用戶名,Password中填寫密碼。
4.Login type(登錄類型):選擇「Normal」(正常)。很多公用的FTP網站,選用「anonymous」(匿名)登錄,用自己的信箱賬號當password即可。
5.Initial Remote Directory:填上你想登錄FTP伺服器後直接進入那級目錄,如果上傳個人主頁,一般是用「\你的用戶名」路徑;Initial Local Directory:填上你想傳輸的文件在自己硬碟中的目錄,當然不填也可以。
6.Transfer type:文件上傳模式設定。 FTP可以用多種格式傳輸文件,常用的是文本模式和二進制模式。文本傳輸使用ASCII字元,而二進制則無須轉換或格式化即可傳輸字元,因此比文本模式更快,並且可以傳輸所有ASCII值。要注意確保使用正確的傳輸模式傳輸文件,按文本模式傳二進制文件將會導致錯誤。一般我們選「Auto-Detect」即可,它會自行檢測文件類型並使用最適合的上傳方式。
7.點擊「確認」,程序回到圖10的界面,此時「紅帆船電腦網路工作室」已經出現在右邊的框中。選擇此標題,單擊「Connect」,即可連入伺服器(前提當然是你的電腦處於在線狀態,如果不在線,CuteFTP會自動調用聯接上網的程序)。遠端伺服器「驗身」之後,彈出對話框(如圖10所示),單擊「OK」,進入程序主界面,便可以傳送文件了。
六、如何上傳、下載文件
1.在本地硬碟選取一個或多個要上傳的文件,在遠程區域中進入欲將文件送至的目錄。 單擊工具欄上的上傳圖標,或者用滑鼠直接將選取文件拖曳過去,文件便開始上傳。當命令區域中提示DONE,即表示上傳完畢。
2.當遇到只需要上傳所有jpg文件等情況時,可以在菜單中選取「Directory/Group select」,在彈出的對話框中輸入想選取的文件通配符,如圖11所示。該功能支持文件通配符「*」和「?」的用法。
3.CuteFTP2.8支持整個目錄的上傳或下載,操作方法與傳送單一文件是一樣的。但有時網站需要增加目錄,可選擇菜單中的「Commands / Make new directory」,或單擊滑鼠右鍵點選「Make new directory」項。在彈出的對話框中輸入新目錄名即可。如圖12所示。
下載文件與此相似。
傳送文件時,會經常在本地區域或遠程區域中點擊滑鼠右鍵,彈出常用操作的功能菜單:
Delete:刪除被選中的文件;
Rename:對被選中的文件重命名;
Change file attributes:修改遠程區域中被選中的文件屬性。這一項對於CGI文件很重要。點擊此項,將彈出如圖13所示的對話框,具體設置方法可參考幫助文件。
Make new dir:建立文件夾(目錄);
Refresh:刷新。

技 巧 篇

1.注意文件名稱的大小寫。因為大多數遠程伺服器,對於文件或目錄名的大小寫非常敏感。如果FTP軟體中沒有強制小寫字母的功能,就要注意文件及目錄名要用小寫。在CuteFTP中,在FTP Site Manager / Edit Site / Advanced的Upload Filenames中選擇Force Lowercase(強制小寫),可以強制實現上傳文件名稱為小寫。如圖14所示。
2.正確設置本地及遠程目錄。在CuteFTP中設置好本地及遠程目錄的路徑,登錄後將自動進入指定目錄中,就馬上可以進行文件傳送了,能節省很多切換目錄的時間。注意本地目錄路徑是用「\」格式,而在遠程目錄路徑使用的是「/」格式,因為大部分的伺服器都是UNIX系統。對於常用的目錄,應將它加到Bookmarks書簽中。
3.進入某站點時候盯著注意信息窗,如果顯示了「This site can resume broken downloads」,即表示支持續傳功能。
4.CuteFTP的目錄下的smdata.dat文件,記錄了「FTP Site Manager」中各網站的信息,應該定期備份。如果「FTP Site Manager」損失,或者重裝了CuteFTP,將此文件復制回去,就不用再編輯一大堆的FTP站了。此外還應備份四個重要的文件:cuteftp.key、 commands.dat、 bookmark.dat、 autoname.dat。
5.傳送文件結束後,在FTP Site Manager中,不要將Password保留,容易被別人利用。
6.CuteFTP是共享軟體,有很多功能需要注冊才能使用。
7.CuteFTP 2.8已經解決了Y2K問題,但注意不要將系統日期設定到2037年之後。
8.如果CuteFTP一切設置正常,但傳輸文件還是非常慢或者只能傳輸部分文件便停止,請在Windows的system.ini中加上[VNTSPSD]MaxFrameSize=3D1000,然後重啟計算機。或到下列站點下載系統修正程序: http://www.sns-access.com/~netpro/maxmtu.htm http://www.microsoft.com/windows95/info/krnlupd.htm
8、可按如下步驟顯示遠程區域的隱含目錄:在FTP Site Manager選Edit site編輯某個站點。在「Remote Directory」項中輸入「-rtaF」,並且不要復選「Local Filter」項。

⑦ FTP自動下載的問題

下載所有文件要用到mget *.* 可以自己試下,或者建議你用現成的軟體來下載,比如second ,可以自動定時同步本地與ftp,比bat要方便也好用的多。

⑧ 我想讓迅雷(或者其他常用軟體)定時自動下載一個ftp資源文件

定時的話windows的任務計劃可以,在控制面板--任務計劃--添加任務計劃--下一步,選中啟動迅雷的圖標(沒有就通過瀏覽找)--下一步,選擇執行任務的方式,可以每天都運行,也可以就一次運行,隨你高興了--下一步,選擇運行時間--下一步,輸入管理員密碼,沒有就空著。--下一步完成。別忘了在迅雷里配置--常規--選中迅雷啟動後,立即開始未完成的下載。還有選迅雷的完成後關機,下完就自己關機了。

⑨ 批處理實現FTP自動下載完後清理源文件

前面每3分鍾檢查有無新文件,然後下載到本地並刪除,這個可以用批處理實現,後面彈出消息框這個就需要vbs來做了,你確定後面這個功能有必要?如果需要實現,那麼就會增加代碼復雜度與文件讀寫操作,而且每3分鍾彈出一個窗口,如果不手動去關,程序就會卡在那裡。

⑩ 求linux系統ftp自動下載文件的代碼,超時重連

有開源的軟體,FileZilla,官網https://filezilla-project.org/,client和server端的都有,你可以下載下來參考。

熱點內容
刪資料庫事件 發布:2024-11-15 12:10:54 瀏覽:455
資料庫選課管理系統 發布:2024-11-15 12:10:15 瀏覽:126
android音樂波形圖 發布:2024-11-15 11:57:12 瀏覽:378
福建社保銀行卡初始密碼是多少 發布:2024-11-15 11:47:40 瀏覽:911
游戲多開用什麼配置 發布:2024-11-15 11:46:51 瀏覽:729
管理java版本 發布:2024-11-15 11:44:03 瀏覽:629
ndk編譯的程序如何執行 發布:2024-11-15 11:43:18 瀏覽:626
輕應用伺服器適合搭建網站嗎 發布:2024-11-15 11:36:08 瀏覽:246
c語言的百分號 發布:2024-11-15 11:34:24 瀏覽:31
一加五安卓8什麼時候推送 發布:2024-11-15 11:19:40 瀏覽:854