当前位置:首页 » 文件管理 » ftp命令下载文件更新时间不变

ftp命令下载文件更新时间不变

发布时间: 2024-10-13 08:15:48

ftp命令下载FTP服务器文件问题

命令语法不对。ftp命令和操作系统命令不能混用。批处理文件执行的是操作系统的命令,不识别ftp shell。
先把ftp所有命令写入一个文本文件例如d:\temp\f.txt
如果需要用户名密码验证,则直接把用户名密码写在文本前两行,以后跟其他命令。
创建批处理文件,写入命令:
ftp -s:(跟文本文件全路径+文件名扩展名) (服务器地址
执行这个批处理文件即可,还可将批处理添加到任务计划更显自动化。
一个完整例子:

设D盘有两个文件夹:d:\MyAppfiles和d:\Music
在d:\MyAppfiles文件夹下创建文本文件getmusic.txt和批处理文件getmusic.bat

getmusic.txt内容如下(括号中是说明部分,在文本文件中不写):
lover (用户名)
passwd (密码)
cd music (进入服务器上的Music文件夹)
mget *.mp3
bye

getmusic.bat内容如下:
cd\music
ftp -s:d:\MyAppfiles\getmusic.txt 192.168.0.16

执行getmusic.bat,即可把服务器192.168.0.16 ftp站点下Music文件下的mp3文件下载到本地d:\Music文件夹下

Ⅱ 批处理实现FTP服务器有更新的话 就下载全部文件包括压缩文件 如果没有 就不下载

用rsync同步吧

Ⅲ 请教高手,用批处理命令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.
热点内容
网络课程脚本 发布:2024-10-13 10:24:56 浏览:501
网上买电脑如何查看配置 发布:2024-10-13 10:17:29 浏览:794
遗传算法非线性约束 发布:2024-10-13 10:09:16 浏览:779
图像扭曲的算法 发布:2024-10-13 09:56:11 浏览:234
c语言的精髓 发布:2024-10-13 09:56:09 浏览:814
嵌入式系统高级c语言编程 发布:2024-10-13 09:16:26 浏览:87
天刀与服务器断开是什么鬼 发布:2024-10-13 09:12:12 浏览:72
python金融量化 发布:2024-10-13 09:12:11 浏览:84
搭建hive需要什么服务器 发布:2024-10-13 09:07:16 浏览:399
c静态成员函数的访问 发布:2024-10-13 09:03:08 浏览:529