![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 20:04 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助: 如何实现从ftp自动下载更新文件 |
| 可打印版本 1,458 / 4 |
| 第1楼 wxgstest | 发表于 2008-03-15 10:32 |
| 新手上路 发帖 3 积分 8 | |
|
求助: 如何实现从ftp自动下载更新文件 如何用bat 自动从远程ftp 自动下载更新的程序,同时把本地的过期的文件删除,并且执行最新的程序? 自动登入远程到ftp 和下载 偶会写了。 关键现在不知道如何 比较远程文件是否比本地文件更新 ,(一般来说远程文件如果更新 它的文件名会变成xxx(日期).exe),求教了
|
|
| 第2楼 HAT | 发表于 2008-03-15 14:07 |
| 版主 发帖 5,017 积分 9,023 | |
|
把远程服务器上的文件名里面的日期格式贴出来
把本机的日期格式贴出来 |
|
| 第3楼 wxgstest | 发表于 2008-03-15 15:22 |
| 新手上路 发帖 3 积分 8 | |
|
都是(mmdd).exe
|
|
| 第4楼 wxgstest | 发表于 2008-03-15 21:52 |
| 新手上路 发帖 3 积分 8 | |
|
自己今天学习后写的,有点笨 自己今天学习后写的,有点笨 请大家多指教 现在还不知道如何下载后自动执行还望各位大大 指教 不胜感激了。
@echo off set BASE=e: set BASE_PATH=e:\ftptest set SAVE_PATH=%BASE_PATH%\save set TMP_PATH=%BASE_PATH%\temp set LOG_FILE=%BASE_PATH%\ftpgetfile.log set DATET=%date%%time% echo 程序开始运行,时间:%DATET% >> %LOG_FILE% if not exist %BASE_PATH% ( mkdir %BASE_PATH% ) if not exist %SAVE_PATH% ( mkdir %SAVE_PATH% ) if not exist %TMP_PATH% ( mkdir %TMP_PATH% ) ftp -n -s:"%BASE_PATH%\getfile.ftp" >> %LOG_FILE% echo 本次获得的文件如下:>> %LOG_FILE% dir /B E:\ftptest\temp\ >> %LOG_FILE% :: 先下载 然后进行文件名称比较(假设只有一个文件哟,实际情况也只更新一个文件。这儿自己没有考虑第一次下载的情况) cd %TMP_PATH%\ for /F "delims==" %%i IN ('dir /b') do set m=%%~ni cd %SAVE_PATH%\ for /F "delims==" %%j IN ('dir /b') do set n=%%~nj if %m% == %n% (goto _exit) else goto _update :_update ::这儿没有考虑第一次下载的情况 del /f/q E:\ftptest\save\*.exe 2>nul move /y E:\ftptest\temp\*.exe E:\ftptest\save\ >nul set DATET=%date%%time% echo 程序运行结束,时间:%DATET% >> %LOG_FILE% echo =========================================== >> %LOG_FILE% exit :_exit echo same file del /f /q E:\ftptest\temp\*.exe set DATET=%date%%time% echo 程序运行结束,时间:%DATET% >> %LOG_FILE% echo =========================================== >> %LOG_FILE% exit 以下是getfile.ftp ========================================== ::getfile.ftp open 192.168.1.100 user test test bin cd /test/test prompt off lcd e:\ftptest\temp mget *.exe bye exit ========================================== [ Last edited by wxgstest on 2008-3-15 at 09:54 PM ] |
|
| 第5楼 vkill | 发表于 2008-03-18 16:25 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
wget 来 代替 ftp
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |