使用bat上传FTP文件

@Echo Off


rem 2017-04-10
rem by Geln
rem 演示FTP命令行上传单个文件,没有设置ftp的上传目录
rem 上传成功返回0,上传失败返回1




rem 设置变量
set FTP_Server="192.168.10.35"
set User=gsome
set Pwd=123
set FileDir=C:\
set FileName=123.jpg


set FtpRunUp=ftp.up
set FtpRunCheckExist=ftp.exist
set FtpRunDelete=ftp.delete
set FtpDirTxt=ftpdir.txt


::外部调用:
::ftp_up上传文件.bat 主机IP 用户名 密码 当前计算机上传目录 上传文件名
if not "%1" == "" (
if not "%2" == "" (
if not "%3" == "" (
if not "%4" == "" ( 
if not "%5" == "" ( 
set FTP_Server=%1
set User=%2
set Pwd=%3
set FileDir=%4
set FileName=%5
)))))


rem 检查文件是否存在,存在就先删除再上传
Echo open %FTP_Server%>%FtpRunCheckExist%
Echo %User%>>%FtpRunCheckExist%
Echo %Pwd%>>%FtpRunCheckExist%
Echo binary>>%FtpRunCheckExist%
Echo dir . "%FtpDirTxt%">>%FtpRunCheckExist%
Echo bye>>%FtpRunCheckExist%
FTP -s:%FtpRunCheckExist%


set bExist=NO
for /f "tokens=4 delims= " %%a in (%FtpDirTxt%) do (
 if "%%a" == "%FileName%" ( 
   set bExist=YES
 ) 
    )


if "%bExist%" == "YES" (
  Echo open %FTP_Server%>%FtpRunDelete%
  Echo %User%>>%FtpRunDelete%
  Echo %Pwd%>>%FtpRunDelete%
  Echo delete "%FileName%">>%FtpRunDelete%
  Echo bye>>%FtpRunDelete%
  FTP -s:%FtpRunDelete%
)


rem 将FTP运行内容输出到ftp.up文件
rem 注意 >> 前不要有空格,以防将空格识别为密码内容而导致登录失败
Echo open %FTP_Server%>%FtpRun%
Echo %User%>>%FtpRun%
Echo %Pwd%>>%FtpRun%
Echo binary>>%FtpRun%
Echo put "%FileDir%%FileName%">>%FtpRun%
Echo dir . "%FtpDirTxt%">>%FtpRun%
Echo bye>>%FtpRun%


rem 使用-s运行文件中的内容
FTP -s:%FtpRun%


rem 判断上传成功或失败
set res=Failed
for /f "tokens=4 delims= " %%a in (%FtpDirTxt%) do (
 if "%%a" == "%FileName%" ( 
   set res=Successful
 ) 
    )


rem 删除临时文件
del %FtpRun% /q
del %FtpRunCheckExist% /q
del %FtpRunDelete% /q
del %FtpDirTxt% /q


Echo %res%
if "%res%" == "Successful" (
@exit /b 0
)
@exit /b 1


rem pause
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值