读书人

【FTP】批处理实现用FTP服务器下的文件

发布时间: 2012-08-29 08:40:14 作者: rapoo

【FTP】批处理实现用FTP服务器上的文件更新本机文件

由于批处理很难判断ftp下载何时能够完成,建议分成两个bat来做:

?

先运行download.bat

?

@echo offrem 指定FTP用户名set ftpUser=USERNAMErem 指定FTP密码set ftpPass=PASSWORDrem 指定FTP服务器地址set ftpIP=192.168.0.2rem 指定待下载的文件位于FTP服务器的哪个目录set ftpFolder=/SharedFile/Log/rem 指定从FTP下载下来的文件存放到本机哪个目录set LocalFolder=C:/temp/set ftpFile=%temp%/TempFTP.txt>"%ftpFile%" echo,%ftpUser%>>"%ftpFile%" echo,%ftpPass%>>"%ftpFile%" echo cd "%ftpFolder%">>"%ftpFile%" echo lcd "%LocalFolder%">>"%ftpFile%" echo bin>>"%ftpFile%" echo mget *.*>>"%ftpFile%" echo byestart ftp -v -i -s:"%ftpFile%" %ftpIP%

?

ftp下载完成以后,再运行compare.bat

@echo off::演示:用FTP下载的文件去更新本机的文件。::如果演示结果无误,把copy前面的echo去掉,即可实现真正更新。rem 指定从FTP下载下来的文件存放到什么地方set LocalFolder=C:/testrem 指定待比较的本机文件存放到什么地方set CompareFolder=C:/datfor /f "skip=4 delims= " %%a in ('reg query "HKEY_CURRENT_USER/Control Panel/International" /v sTimeFormat') do (    set "RegTimeOld=%%a")set RegTimeOld=%RegTimeOld:~-8%reg add "HKEY_CURRENT_USER/Control Panel/International" /v sTimeFormat /t REG_SZ /d H:mm:ss /f>nul>"%temp%/DownList.txt" type nulfor /f "skip=5 delims=" %%a in ('dir "%LocalFolder%"^|findstr ":*[a-z]"') do (    >>"%temp%/DownList.txt" echo %%a)>"%temp%/CompareList.txt" type nulfor /f "skip=5 delims=" %%a in ('dir "%CompareFolder%"^|findstr ":*[a-z]"') do (    >>"%temp%/CompareList.txt" echo %%a)reg add "HKEY_CURRENT_USER/Control Panel/International" /v sTimeFormat /t REG_SZ /d %RegTimeOld% /f>nulfindstr /x /v /g:"%temp%/CompareList.txt" "%temp%/DownList.txt">"%temp%/CopyList.txt"for /f "usebackq tokens=4 delims= " %%a in ("%temp%/CopyList.txt") do (    echo copy /y "%LocalFolder%/%%a" "%CompareFolder%")pause

?

读书人网 >编程

热点推荐