2013-01-24 100 views
0

我想制作Windows .cmd脚本文件。其中一个命令使用ftp命令。当我执行批处理脚本时,命令提示符不会等待用户键入他的用户/密码,因此下一个命令没有正确执行。我怎样才能让它暂停?Windows批处理脚本:ftp命令:等待用户登录

谢谢。

编辑:

我的问题更关系到交互使用比自动登录(-n选项)的命令(-i选件)。我想等待用户输入他们的凭据。

而且,我已经看到,通过键入命令:

ftp -n -i -s:myFtpCommands.txt 192.168.0.20 

myFtpCommands.txt包含:

use myUser 
mget * 
bye 

无需输入密码才可以访问文件。相关的安全问题在哪里?

+0

学会问你的命令,他们可以做什么,即'ftp/help'将显示可能性。我正在考虑-n可能有帮助。否则,您应该发布脚本的最小部分,以证明您的问题。祝你好运。 – shellter

回答

1

您可以事先向用户询问他们的详细信息,然后根据他们的输入构建命令文件。

@echo off 
set /p un=Enter your FTP username: 
set /p pw=Enter your FTP password: 
echo open 192.168.0.20 >ftpscript.txt 
echo %un% >>ftpscript.txt 
echo %pw% >>ftpscript.txt 
mget * >>ftpscript.txt 
bye >>ftpscript.txt 
ftp -i -s:ftpscript.txt 

至于自动登录,这是FTP的一个特点,它是一个匿名登录,这是建立FTP服务器上允许这种访问的。

无论是谁设置FTP服务器,都能够控制允许用来访问服务器的帐户以及他们不希望每个人都可以访问的文件的权限。