使用批处理命令自动连接到FTP服务器,继续批处理脚本,然后在必要时运行FTP命令

时间:2013-03-06 17:09:29

标签: windows batch-file

这是我想做的。是否可以使用批处理(Windows XP)文件?

  1. 提示用户登录FTP服务器。

  2. 继续使用其余批处理命令,同时保持FTP会话/登录活动。

  3. 使用批处理命令时,请使用FTP PUT命令。

2 个答案:

答案 0 :(得分:2)

不,我想不出一种方法可以让ftp进程保持活动状态,同时继续运行批处理文件,并将命令发送到ftp进程。

但是,如果这符合您的需要,您的批处理文件可以先收集所需的所有数据,生成包含所有ftp命令的文件,然后将该文件作为最后一步传递给ftp.exe。

例如:

SET /P ftpuser=Username:
SET /P ftppass=Password:

:: generate ftp script file
ECHO %ftpuser% > ftpcommands.txt
ECHO %ftppass% >> ftpcommands.txt
ECHO put file.txt >> ftpcommands.txt
ECHO quit >> ftpcommands.txt

:: now call ftp and have it process all the commands
ftp -s:ftpcommands.txt server.com

答案 1 :(得分:2)

Windows ftp支持使用-s开关进行批处理。但是,在等待更多命令时,没有好办法使FTP会话保持活动状态。 ftp命令将从头到尾处理其-s脚本,然后退出。

除了让批处理脚本生成ftp -s使用的脚本并根据需要运行它之外,我能想到的唯一解决方案是map the FTP server as a drive letter并根据需要进行复制。