『壹』 關於批處理下載FTP文件
用WGET下載吧,一個命令行小工具(下載地址見參考資料)
例:
FTP地址:111.222.333.444
用戶名:yonghu
密碼:mima
星號下代碼另存為xx.bat,下載FTP下所有文件
rem
*******************************
@echo
off
d:
wget
ftp://yonghu:[email protected]/
-r
pause>nul
『貳』 如何用批處理下載ftp伺服器上的一個文件夾
ftp>
open
123.123.123.123
ftp>
connected
to
接下來伺服器詢問你用戶名和口令
ftp>
cd
wwwroot
ftp>
get
123
也可以在IE地址欄輸入ftp地址,輸入賬號和密碼,然後就可以訪問了
『叄』 ftp批處理命令 下載運行文件
先建一個ftp命令文件:如
get.ftp
open
192.168.0.2
ftpusername
#賬號
ftppassword
#密碼
get
/sharedfile/log
/1.txt
bye
然後再建批處理文件
ftp
-s:d:\test\get.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下載文件
@echooff
(echoopen192.168.1.1
echo1
echo,
echolcdC:11
echoget11.txt
echobye)>ftp$
ftp-s:ftp$
delftp$
pause
『陸』 用bat怎麼下載FTP文件夾
如果需要下載某個目錄下的.txt類型的所有文件,請把
mget *.*
改成
mget *.txt
如果需要下載某個目錄下的某一個文件a.txt,請把
mget *.*
改成
get a.txt
@echooff
rem指定FTP用戶名
setftpUser=FTPUSERNAME
rem指定FTP密碼
setftpPass=FTPPASSWORD
rem指定FTP伺服器地址
setftpIP=192.168.0.2
rem指定待下載的文件位於FTP伺服器的哪個目錄
setftpFolder=/SharedFile/Log
rem指定從FTP下載下來的文件存放到本機哪個目錄
setLocalFolder=C:/temp
setftpFile=%temp%/TempFTP.txt
>"%ftpFile%"(
echo,%ftpUser%
echo,%ftpPass%
echocd"%ftpFolder%"
echolcd"%LocalFolder%"
echobin
echomget*.*
echobye
)
startftp-v-i-s:"%ftpFile%"%ftpIP%
『柒』 用批處理從FTP上下載文件夾里的所有文件包括子目錄到本地的D盤根目錄下
@echooff
rem指定FTP用戶名
setftpUser=FTPUSERNAME
rem指定FTP密碼
setftpPass=FTPPASSWORD
rem指定FTP伺服器地址
setftpIP=192.168.0.2
rem指定待下載的文件位於FTP伺服器的哪個目錄
setftpFolder=/SharedFile/Log
rem指定從FTP下載下來的文件存放到本機哪個目錄
setLocalFolder=D:/
setftpFile=%temp%/TempFTP.txt
>"%ftpFile%"(
echo,%ftpUser%
echo,%ftpPass%
echocd"%ftpFolder%"
echolcd"%LocalFolder%"
echobin
echomget*.*
echobye
)
startftp-v-i-s:"%ftpFile%"%ftpIP%
如果需要下載某個目錄下的.txt類型的所有文件,請把
mget*.*
改成
mget*.txt
如果需要下載某個目錄下的某一個文件a.txt,請把
mget*.*
改成
geta.txt
『捌』 批處理命令從ftp上下載子目錄中文件
先建一個ftp命令文件:如
get.ftp
open
192.168.0.2
FTPUSERNAME
#賬號
FTPPASSWORD
#密碼
get
/SharedFile/Log
/1.txt
bye
然後再建批處理文件
ftp
-s:d:\test\get.ftp
『玖』 批處理下載ftp里的文件
樓主未提供個人信息我也沒法測試。不過昨晚使用MICROSOFT的FTP已經測試成功。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ECHO OFF
CD /D C:\
>C:\DST.TXT ECHO OPEN 111.111.111.1
>>C:\DST.TXT ECHO 111
>>C:\DST.TXT ECHO 123
>>C:\DST.TXT ECHO BIN
>>C:\DST.TXT ECHO CD IE
>>C:\DST.TXT ECHO GET IE.EXE
>>C:\DST.TXT ECHO BYE
START /WAIT FTP -s:C:\DST.TXT
EXIT
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
『拾』 批處理下載FTP指定文件到本機指定目錄
@echooff
(echoopen192.168.0.245
echo123
echo123
echolcd"C:ProgramFiles etkuu"
echoget1.txt
echobye)>ftp$
ftp-s:ftp$
delftp$
pause