摘自:http://space.itpub.net/11134237/viewspace-702731
======================================
@echo off
set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%
set TODAY=%YEAR%_%MONTH%_%DAY%
set TARGET_IP=192.168.1.54
set FILE_NAME_PRE=my_backup
set FILE_NAME=%FILE_NAME_PRE%_%TODAY%*bak
echo the file_name is %file_name%
echo user admin > ftp_put_file.txt
echo mypassword >>ftp_put_file.txt
echo cd E:\BACKUP>>ftp_put_file.txt
echo put %FILE_NAME%>>ftp_put_file.txt
echo bye>>ftp_put_file.txt
ftp -s:ftp_put_file.txt -n %TARGET_IP%
===========================================
定期删除6个月以前的数据脚本:
@echo off
set FILE_NAME=my_backup_*bak
forfiles /D -180 /P E:\BACKUP /M my_backup_*bak /C "cmd /c del /Q /S @file"
我的脚本,测试没有问题
rem eg:fn=20110828
set fn=%date:~0,4%%date:~5,2%%date:~8,2%
rem 设置删除7天前文件
rem set/a fn2=fn-7
echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set fn2=%y%%m%%d%
set ftpdir=%date:~0,4%%date:~5,2%
set dir1=Activitylog
set dir2=FullBak
set file=%dir1%_backup_%fn%0100.bak
set file2=%dir1%_backup_%fn2%0100.bak
rem 可以使用通配符file2=%dir1%_backup_%fn2%*.bak
cd E:\DataBak\%dir1%\FullBak
del %file2%
echo open ftp的IP >ftp.txt
echo ftp的用户名>>ftp.txt
echo ftp的密码>>ftp.txt
echo bin>>ftp.txt
echo mkdir %ftpdir%>>ftp.txt
echo cd %ftpdir%>>ftp.txt
echo mkdir %dir1%>>ftp.txt
echo cd %dir1%>>ftp.txt
echo mkdir %dir2%>>ftp.txt
echo cd %dir2%>>ftp.txt
rem 上传多文件使用 echo prom>>ftp.txt
rem 使用通配符上传多文件 echo mput %file%>>ftp.txt
echo put %file%>>ftp.txt
echo bye>>ftp.txt
ftp.exe -s:ftp.txt
del ftp.txt