Ⅰ 批處理 FTP批量下載
如果在linux下可以考慮使用wget
有相應的windows版本
Ⅱ 請教高手,用批處理命令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命令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
Ⅳ 用linux命令 在ftp上下載多個文件,該怎麼寫呢謝謝!
這個是挺容易的。你可以使用help來查詢可用命令。標準的情況下,mget可以接受通配符(即像shell一樣使用通配符表示一類文件),這樣就可以一次下載多個文件了。更高級的一些FTP客戶端還可以支持下載列表等功能。你也可以使用axel或wget來使用列表以進行多個文件下載(在這種情況下應該是寫成這樣:ftp://username:passwd@servername/filename,具體能不能用小弟還沒試過,你可以查詢相關資料或者找o'reilly的書籍看看)。
Ⅳ 如何批量從ftp批量下載文件
如果你是WIN系統或者Linux系統自帶的FTP,就是用代碼循環。
你用的是客戶端的話更簡單了,把需要下載的勾選的直接下就可以了,比如這款IIS7伺服器管理軟體。
它的操作簡單,功能強大可應用於win系列的操作系統(含VPS、VM);還可應用於linux操作系統:CentOS、Ubuntu、Debian等,支持命令及可視化SFTP管理;linux的vnc、win的vnc;FTP,webshell等,同時適合機房管理、站長、運維工作、程序員,等需要大量伺服器或者電腦的用戶朋友使用范圍很廣。
IIS7伺服器管理工具能夠作為FTP的客戶端,進行FTP的命令操作,定時備份上傳下載,自動更新。可在客戶端,下載,安裝FTP軟體!同時,它也可以作為VNC的客戶端,進行VNC的命令操作!它能夠批量連接Windows和Linux系統下的伺服器和VPS,並能夠實時監測他們的連接狀態,便於日常維護和操作!
Ⅵ ftp下載批處理命令,難題,望高手進來解答
set
FtpFile=%temp%\TempAcc.txt
>"%FtpFile%"
echo
用戶名稱
>>"%FtpFile%"
echo
密碼
>>"%FtpFile%"
echo
bin
>>"%FtpFile%"
echo
cd
"/aa/bb/cc"
>>"%FtpFile%"
echo
send
d:/ee/ff/sourceaaa.txt
>>"%FtpFile%"
echo
bye
start
/wait
ftp
-v
-i
-s:"%FtpFile%"
IP地址
del
/q
"%FtpFile%"
把這個代碼保存為.bat文件既可!
還有你不需要開sch這個服務的啦.用AT本身就可以了.
你可以直接在"控制面板"里的"計劃任務".選擇"添加計劃任務",然後按步驟來,很簡單的,可以設置每天的哪個時候運行此批處理
Ⅶ 關於Windows7/10下如何批量下載ftp文件的問題
rem需要藉助一個第三方命令行下載工具wget來實現
@echooff
(for/l%%iin(1,33,100)do(
sets=000%%i
sets=!s:~-3!
echowgetftp://igs.ensg.ign.fr/pub/igs/procts/ionosphere/2016/!s!/igsg!s!0.16i.Z))>down.bat
remcalldown.bat
Ⅷ 如何用FTP命令下載所有文件夾及其內部的文件
http://www.blueidea.com/computer/soft/2004/2228.asp
供參考
Ⅸ 怎麼使用ftp命令下載整個文件夾的內容
引用一個回答
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