windows下BAT脚本ftp上传文件
若有需要请替换ftpip、ftpuser、ftppasswd 为自己ftp服务器地、用户名以及密码。
@echo off
rem 获取系统时间的星期值
rem set "day=%date:~11,2%"
rem 调用VBS程序获取昨日日期
start /wait mshta vbscript:createobject("scripting.filesystemobject").createtextfile("temp.txt").write(weekday(date()-1))(window.close)
set /p a=<temp.txt
del temp.txt /q
set xq=周日
if %a%==1 set xq=周日
if %a%==2 set xq=周一
if %a%==3 set xq=周二
if %a%==4 set xq=周三
if %a%==5 set xq=周四
if %a%==6 set xq=周五
if %a%==7 set xq=周六
rem ftp服务器IP
set "ftpip=<ftpip>"
rem ftp用户
set "ftpuser=<ftpuser>"
rem ftp密码
set "ftppasswd=<ftppasswd>"
rem ftp上传本地路径
set "uploadCilentLocal=D:"
rem ftp服务器上传路径
set "uploadRemote=/FTP60Backup"
rem 是否上传全部与当天
set "uploadfile=%xq%.dmp"
set "parentDirArr=xiyue"
rem 上传文件
for %%f in (%parentDirArr%) do (
call :uploadFtpFileFun %ftpip%,%ftpuser%,%ftppasswd%,%uploadRemote%,%uploadCilentLocal%\%%f,%%f,%uploadfile%
)
::函数名 :uploadFtpFileFun 上传文件
::参数0,%0 就是函数名本身 :uploadFtpFileFun
::参数1,%1 ftp服务器地址 :ftpip
::参数2,%2 ftp服务器用户名 :ftpuser
::参数3,%3 ftp服务器密码 :ftppasswd
::参数4,%4 ftp服务器远程目录 :uploadRemote
::参数5,%5 ftp客户端本地上传目录 :uploadCilentLocal
::参数6,%6 文件所在目录 :uploadDir
::参数7,%7 上传文件 :upfile
:uploadFtpFileFun
echo ===========%date:~0,10% %time:~0,8%============%6 start==========================>>ftpUpload.log
echo open %1>>ftp.upload
echo %2>>ftp.upload
echo %3>>ftp.upload
echo mkdir %4>>ftp.upload
echo cd %4>>ftp.upload
echo lcd %5>>ftp.upload
echo mkdir %6>>ftp.upload
echo cd %6>>ftp.upload
echo put %7>>ftp.upload
echo bye>>fftp.upload
FTP -s:ftp.upload>>ftpUpload.log
del ftp.upload /q
echo ===========%date:~0,10% %time:~0,8%============%6 endsx==========================>>ftpUpload.log
GOTO:EOF