Board logo

标题: [文本处理] 批处理调用ftp命令 密码错误 [打印本页]

作者: ywjbycd    时间: 2015-10-15 11:23     标题: 批处理调用ftp命令 密码错误

@echo off

echo open 20.100.100.100 > medilink.txt
echo aaa >> medilink.txt
echo aaa!@#$ >> medilink.txt
echo bin >> medilink.txt
echo lcd D:\backup\rman >> medilink.txt
echo mput *.BAK >> medilink.txt
echo bye >> medilink.txt

ftp -i -s:medilink.txt

ftp用户名 密码都正确  但是为什么总提示 530 Please log in with USER and PASS first.

首先我确定绝对不是密码问题,我cmd  ftp 20.100.100.100  手动输入用户名 密码  是可以登录进去的  没有问题.脚本哪里有错误吗?

请大神赐教...
作者: DAIC    时间: 2015-10-15 11:35

你那种写法会导致用户名和密码的结尾有多余的空格,打开 medilink.txt 看看就知道了。试试这样:
  1. >> medilink.txt echo aaa
  2. >> medilink.txt echo aaa!@#$
复制代码

作者: ywjbycd    时间: 2015-10-15 11:58

回复 2# DAIC

谢谢,我试过了,但是还是提示530...登录失败
作者: DAIC    时间: 2015-10-15 12:03

试试下面这个代码。
如果还是不行,试试修改FTP密码,把里面的特殊字符暂时去掉。
  1. @echo off
  2. rem 指定FTP用户名
  3. set "ftpUser=aaa"
  4. rem 指定FTP密码
  5. set "ftpPass=aaa!@#$"
  6. rem 指定FTP服务器地址
  7. set "ftpIP=20.100.100.100"
  8. rem 指定从FTP下载下来的文件存放到本机哪个目录
  9. set "LocalFolder=D:\backup\rman"
  10. set "ftpFile=%temp%\TempFTP.txt"
  11. >"%ftpFile%" (
  12.     echo,%ftpUser%
  13.     echo,%ftpPass%
  14.     echo lcd "%LocalFolder%"
  15.     echo bin
  16.     echo mget *.BAK
  17.     echo bye
  18. )
  19. start ftp -v -i -s:"%ftpFile%" %ftpIP%
复制代码

作者: ywjbycd    时间: 2015-10-15 13:36

回复 4# DAIC

谢谢,修改了一个不带特殊字符的密码,可以正常连接了.
作者: flyinnet9    时间: 2015-10-16 10:54

本帖最后由 flyinnet9 于 2015-10-16 10:55 编辑
  1. @echo off
  2. echo.user aaa aaa!@#$>>ftp.txt
  3. ftp -n -s:ftp.txt XXX.XX.XXX.XXX
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2