读书人

【FTP】批处理实现FTP整站上载

发布时间: 2012-09-01 09:33:02 作者: rapoo

【FTP】批处理实现FTP整站下载

问题背景背景:
http://topic.csdn.net/u/20090516/16/5b76eea0-94ae-4f09-837f-4ba1e7e80af0.html

?

备注:mget *.* 下载所有文件,但不能下载无扩展名的文件;
如果使用mget * 可以下载所有文件,但会把子目录的文件也下载过来。

?

DownLoad.bat

@echo offrem FTP服务器地址set ftpIP=10.80.9.1rem FTP登入名set ftpUser=myUserrem FTP登入密码set ftpPass=myPassrem 需要下载的FTP目录(默认为整站下载)set ftpFolder=.set LocalFolder=%~dp0rem 生成FTP目录结构>"%temp%/ftpTree.txt" type nulstart /w /min cmd /c MakeTree.bat "%ftpFolder%" 0for /f "usebackq delims=/" %%a in ("%temp%/ftpTree.txt") do (    cd /d "%LocalFolder%"    md "%%a"    cd /d "%%a"    >"%temp%/ftpFile.txt" (        echo,%ftpUser%        echo,%ftpPass%        echo,cd "%%a"        echo,mget *.*        echo,bye    )    if "%ftpUser%" equ "Anonymous" (        ftp -i -A -s:"%temp%/ftpFile.txt" %ftpIP%    ) else (        ftp -i -s:"%temp%/ftpFile.txt" %ftpIP%    ))del /f /q /a "%temp%/ftp*.txt"

?

MakeTree.bat

@echo offset /a TreeNum=%2+1>>"%temp%/ftpTree.txt" echo/%~1>"%temp%/ftpFile%TreeNum%.txt" (    echo,%ftpUser%    echo,%ftpPass%    echo,cd %1    echo,dir    echo,bye)if "%ftpUser%" equ "Anonymous" (    ftp -A -s:"%temp%/ftpFile%TreeNum%.txt" %ftpIP%|find " <DIR>">"%temp%/ftpFldLevel%TreeNum%.txt") else (    ftp -s:"%temp%/ftpFile%TreeNum%.txt" %ftpIP%|find " <DIR>">"%temp%/ftpFldLevel%TreeNum%.txt")for /f "usebackq tokens=2,3*" %%i in ("%temp%/ftpFldLevel%TreeNum%.txt") do (    start /w /min cmd /c MakeTree.bat "%~1/%%k" %TreeNum%)

?

读书人网 >编程

热点推荐