ftp自動下載目錄
代碼如下:
@echo off&setlocal enabledelayedexpansion
rem 變數o存的是你1.txt的完整路徑
set /p o=1.txt
set /p s=2.txt
set /p ext=保存名稱為(包括拓展名):
set i=F:\ftp下載%ext%
echo 192.168.1.103> ftp.txt
echo 12345>>ftp.txt
echo binary>>ftp.txt
echo get "%o%" "%i%">>ftp.txt
echo bye>>ftp.txt
ftp -s:"ftp.txt" 192.168.1.103
del ftp.txt
以前寫的,你測試下。
⑵ 批處理來完成FTP文件自動下載
前幾天筆者遇到一個需求,在windows平台下使用ftp來遠程獲取交換機扮畢漏的配置文件。鑒於每一次都需要在命令行裡面手動輸入,過程繁瑣,於是想著使用腳本來完成這個重復性的工作,實現自動化。python的ftplib庫也可以解決這個問題,但是筆者未來和其他bat腳本揉在一起,直接windows平台下使用批處理bat來完成。
ftp -s可以指定包含ftp命令的文本文件,ftp啟動後這些命令將自動運行。
主批處理文件:ftp_main.bat
ftp命令批處理文件:ftp_task.bat,文件放置於D盤下。
除了FTP之外,date修數敏改電腦日期,time修改電腦廳爛時間,echo ^G測試電腦聲音。注意,「^G」是在命令行中使用ctrl + g輸入的,可以使用echo ^G > test.txt來獲取這個字元。
最後這個腳本東湊西湊,界面如下:
⑶ 用ftp命令下載的文件默認放在哪
樓主您好,ftp下載的文件默認的路徑是您用ftp用戶登錄之後所在的目錄,您可以在用ftp連接上伺服器之後,使用pwd查看路徑。
⑷ ftp下載的文件在哪裡
一般是在
c:\documents
and
settings\administrator\my
documents
你也可以
用ftp的命令
dir
列出目錄
然後
對該文件目錄
進行分析
找出
ftp
b1.gd.cn
user:
password:
get
test.rar
c:\
bye
這樣
就可以把
下載的文件到
c盤了。
⑸ FTP命令mget如何下載整個目錄下的文件及子目錄文件
引用1個解答
ftp只是個小命令,特別多功能做不到的,可以利用其他ftp客戶端軟體
或把文件夾壓縮後用命令行上傳
以下是調出使用winrar壓縮的命令
path
c:\program
files\winrar;d:\program
files\winrar;%path%
rar
a
d:\aa.rar
d:\aa
之後在ftp的命令行里用
put
d:\aa.rar
⑹ 請教高手,用批處理命令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下載文件夾命令
最好使用flashfxp來管理ftp,簡單好用,速度比web的快的多
用web的話,只需要在地址欄輸入ftp://你的域名,打開之後輸入帳號和密碼然後選擇你要下載的文件右鍵復制,然後在本地粘貼即可。
⑻ ftp上傳下載目錄的命令是什麼
f t p 命 令 大 全
-------------------------------------------------------------
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作
系統下使用FTP,都會遇到大量的FTP內部命令,熟悉並靈活應用FTP的內部命令,可
以大大方便使用者,對於現在撥號上網的用戶,如果ISP提供了shell可以使用noh
up,那麼ftp將是你最省錢的上download方式,
ftp的命令行格式為:ftp -v -d -i -n -g[主機名]
-v 顯示遠程伺服器的所有響應信息。
-d 使用調試方式。
-n 限制ftp的自動登錄,即不使用.netrc文件。
-g 取消全局文件名。
ftp使用的內部命令如下(其中括弧表示可選項):
1.![cmd[args]在本地機中執行交互shell、exit回到ftp環境,如!ls*.zip 。
2.¥ macro-ame[args]執行宏定義macro-name。
3.account[password]提供登錄遠程系統成功後訪問系統資源所需的補充口令 。
4.appendlocal-file[remote-file]將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii 使用ascii類型傳輸方式。
6.bell每個命令執行完畢後計算機響鈴一次。
7.bin使用二進制文件傳輸方式。
8.bye退出ftp會話過程。
9.case在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir 進入遠程主機目錄。
11.cp進入遠程主機目錄的父目錄。
12.chmod modefile-name將遠程主機文件file-name的存取方式設置為mode,如chmod 777 a.out。
13.close中斷與遠程伺服器的ftp會話(與open對應)。
14.cr使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file刪除遠程主機文件。
16.debug[debug-value]設置調試方式,顯示發送至遠程主機的每條命令,如debup3,若 設為0,表示取消debug。
17.dir[remote-dir][local-file]顯示遠程主機目錄,並將結果存入local-file。
18.disconnection同close。
19.form format將文件傳輸方式設置為format,預設為file方式。
20.getremote-file[local-file]將遠程主機的文件remote-file傳至本地硬碟的local-file。
21.glob設置mdelete、mget、mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22.hash每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]顯示ftp內部命令cmd的幫助信息,如help get。
24.idle[seconds]將遠程伺服器的休眠計時器設為[seconds]秒。
25.image設置二進制傳輸方式(同binary)
26.lcd[dir]將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]顯示遠程目錄remote-dir,並存入本地local-file。
28.macdef macro-name定義一個宏,遇到macdef下的空行時,宏定義結束。
29.mdelete[remote-file]刪除遠程主機文件。
30.mdir remote-files local-file與dir類似,但可指定多個遠程文件,如mdir*.o.*. zipoutfile。
31.mget remote-files傳輸多個遠程文件。
32.mkdir dir-name 在遠程主機中建一目錄。
33.mls remote-file local-file同nlist,但可指定多個文件名。
34.mode[mode-name]將文件傳輸方式設置為mode-name,預設為stream方式。
35.modtime file-name顯示遠程主機文件的最後修改時間。
36.mput local-file將多個文件傳輸至遠程主機。
37.newerfile-name如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpatternoutpattern]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,
如nmap¥1.¥2.¥3[¥1,¥2].[¥2,¥3],則傳輸文件a1 .a2.a3時,文件名變為a1、a2,
該命令特別適用於遠程主機為非U-NIX機的情況。
40.ntrans[inchars[outchars]設置文件名字元的翻譯機制,如ntrans1R,則文件名LL L將變為RRR。
41.open host[port]建立指定ftp伺服器連接,可指定連接埠。
42.passive進入被動傳輸方式。
43.prompt設置多個文件傳輸時的交互提示。
44.proxyftp-cmd在次要控制連接中,執行一條ftp命令,該命令允許連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。
第一條ftp命令必須為open,以首先建立兩個伺服器間的連接。
45.put local-file[remote-file]將本地文件local-file傳送至遠程主機。
46.pwd顯示遠程主機的當前工作目錄。
47.quit同bye,退出ftp會話。
48.quote arg1,arg2……將參數逐字發至遠程ftp伺服器,如quote syst。
49.recv remote-file[local-file]同get。
50.regetremote-file[local-file]類似於get,但若local-file存在,則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]請求獲得遠程主機的幫助。
52.rstatus[file-name]若未指定文件名,則顯示遠程主機的狀態,否則顯示文件狀態。
53.rename[from][to]更改遠程主機文件名。
54.reset清除回答隊列。
55.restart marker從指定的標志marker處,重新開始get或put,如restart 130。
56.rmdir dir-name刪除遠程主機目錄。
57.runique設置文件名唯一性存儲,若文件存在,則在原文件後加後綴。
58.send local-file[remote-file]同put。
59.sendport設置PORT命令的使用。
60.site arg1,arg2……將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name顯示遠程主機文件大小,如site idle 7200。
62.status顯示當前ftp狀態。
63.struct[struct-name]將文件傳輸結構設置為struct-name,預設時使用stream結構。
64.sunique將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system顯示遠程主機的操作系統類型。
66.tenex將文件傳輸類型設置為TENEX機所需的類型。
67.tick設置傳輸時的位元組計數器。
68.trace設置包跟蹤。
69.type[type-name]設置文件傳輸類型為type-name,預設為ascii,如typebinary,設置 二進制傳輸方式。
70.umask[newmask]將遠程伺服器的預設umask設置為newmask,如umask 3。
71.useruser-name[password][account]向遠程主機表明自己的身份,需要口令時,必須輸入口令,如user anonymous my@email。
72.verbose同命令行的-v參數,即設置詳盡報告方式,ftp伺服器的所有響應都將顯示給用戶,預設為on.
73.?[cmd]同help。
那麼如何應用這些命令提高效率呢?下面我舉一個例子,如何利用fttp進行
後台下載,假設你的ISP給你提供了shell並且可以用nohup,你想由fttp.downlo
ad.com/pub/internet/下載一個30M的程序aaa.zip具體步驟如下:
1.用notepad做一個文件如aaa1內容如下
open ftp.dwonload.com user an onymous [email protected]
cd /pub/internet/ i get aaa.zip close bye
2.撥號登錄到你的ISP上。
用telnet 或netterm登錄到shell,一般都在你的home子目錄里bbs~/
3.用fttp上傳aaa1到ISP伺服器你的子目錄。
4. 執行nohup fttp -invd aaa2& 這樣這個進程就被放在ISP伺服器的後台進行了,
如果你想知道情況如何,可以more aaa2就可以知道情況如何了。這時你可以斷線了或干點別的,
估計時間到了(time約=30M/(33.6K/9)s)撥號上去,more aaa2如果顯示成功下載aaa.zip,
就表示aaa.zip已經被下載到ISP的伺服器上了,你再由ISP的伺服器拉回來就相當與點對點了,
記得下載完成後del掉你的文件(aaa.zip),免得浪費ISP資源,它會關掉shell的。
⑼ 在C#中怎樣自動下載ftp中指定目錄下的一個文件
public string Download(string filePath, string fileName)////上面的衡裂腔代碼實現了從ftp伺服器下載文件的功咐衫能
{
try
{
String onlyFileName = Path.GetFileName(fileName);
string newFileName = filePath + "源汪\\" + onlyFileName;
if (File.Exists(newFileName))
{
return "本地文件" + newFileName + "已存在,無法下載";
}
string url = "ftp://" + ftpServerIP + "/" + fileName;
Connect(url);//連接
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
Stream ftpStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
byte[] buffer = new byte[bufferSize];
readCount = ftpStream.Read(buffer, 0, bufferSize);
FileStream outputStream = new FileStream(newFileName, FileMode.Create);
while (readCount > 0)
{
outputStream.Write(buffer, 0, readCount);
readCount = ftpStream.Read(buffer, 0, bufferSize);
}
ftpStream.Close();
outputStream.Close();
response.Close();
return "";
}
catch (Exception ex)
{
return "因"+ex.Message+",無法下載";
}
}
⑽ 用FTP下載如何下載到指定的文件夾啊
我記得在linux下是默認下載到你當前目錄下,如果你想下載到指定的目錄下,先進到這個目錄,然後再ftp