我正在尝试为用户编写一个.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
谢谢!
答案 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