如何在脚本中退出FTP?

时间:2013-12-13 18:03:05

标签: batch-file ftp

我正在尝试为用户编写一个.bat文件,用于简单的密码重置提示,我需要做的最后一件事是退出,由于某种原因没有执行。在建立连接后,进程将停止,将忽略quit命令,并且必须在进程恢复之前手动键入。

这就是我所拥有的:

@echo off
Echo Password Reset Process 
Pause
Echo Enter your user ID when asked
Echo ---
Echo Change your password by using this format, including the slashes: 
Echo 'oldpassword/newpassword/newpassword'
Echo ---
Echo You will not be able to see what you type
Echo So proceed carefully!
Echo ---
Echo Begin Your Password Reset Now?
Pause
FTP Server.domain.org
Quit
Pause
exit

谢谢!

2 个答案:

答案 0 :(得分:0)

批处理文件仅包含Windows shell cmd.exe的命令。如果要将命令输入到其他程序中,则必须使用它的方法来执行此操作。

使用FTP,您可以使用-s:filename开关,请参阅ftp -h。因此,您可以使用必要的行创建一个文件,例如ftp-cmd.txt,然后使用行quit结束,然后在批处理文件中调用ftp -s:ftp-cmd.txt。这应该可以解决问题。

答案 1 :(得分:0)

试试这个:

@echo off
Echo Password Reset Process 
set /P "userID=Enter your user ID: "
Echo Enter your new password by using this format, including the slashes: 
set /P "password=oldpassword/newpassword/newpassword: "
Echo Begin Your Password Reset Now?
Pause
(
echo %userID%
echo %password%
echo Quit
) > passfile.txt
FTP -s:passfile.txt Server.domain.org
del passfile.txt
exit