高分求助——用批处理实现从ftp服务器上下载文件
我从网上找的批处理脚本,当允许匿名访问的时候下面的代码可以从ftp主目录下载文件
rem FTP服务器地址
set host=10.80.9.1
rem FTP登入名,如果匿名不用改
set user=Anonymous
rem FTP登入密码,如果匿名不用改
set pass=
rem 需要下载的FTP目录,如果下载子目录以分格
set dirname=.\
set homedir=%cd%
rem 生成FTP目录结构
del tree.txt
start /w cmd /c makeTree %dirname% 0
rem del result*.txt
for /f "delims=/" %%i in (tree.txt) do (
rem 获取dirname的所有文件
rem =============================
cd %homedir%
md %%i
cd /d %%i
echo %user%>ftp.txt
echo %pass%>>ftp.txt
echo cd %%i>>ftp.txt
rem mget *.* 下载所有文件,但不能下载无扩展名的文件;
rem 如果使用mget * 可以下载所有文件,但会把子目录的文件也下载过来
echo mget *.*>>ftp.txt
echo bye>>ftp.txt
ftp -i -A -s:ftp.txt %host%
del ftp.txt
rem ==============================
)
cd %homedir%
del tree.txt
----------------------------------上面的脚本调用下面的脚本
rem 生成FTP目录结构
rem 调用方法 maketree dir1dir2 n (n>=1)
rem %1 == dir1dir2
rem %2 == n
set /a treetime=%2+1
echo %1 >>tree.txt
echo %user% >ftp%treetime%.txt
echo %pass% >>ftp%treetime%.txt
echo cd %1 >>ftp%treetime%.txt
echo dir >>ftp%treetime%.txt
echo bye >>ftp%treetime%.txt
ftp -A -s:ftp%treetime%.txt %host% |find "<DIR>">result%treetime%.txt
for /f "tokens=2,3*" %%i in (result%treetime%.txt) do (start /w cmd /c Maketree.bat %1%%k %treetime%)
del result%treetime%.txt
del ftp%treetime%.txt
现在的问题是:当服务器不允许匿名访问的时候,我修改了两行代码
set user=myuser
set pass=mypass
不能下载,还需要改其他地方吗?请高手指教