我想要使用批处理文件执行以下命令:
1.ftp 127.0.0.1
2.USERNAME
3.PASSWORD
4.put
5.D:\\zz.xml
6.mmm.xml
每个命令都是prev命令的序列
我想将文件从本地移动到ftp服务器
我用Google搜索,然后我发现插入;命令之间是解决方案,但对我来说不正确
请支持我
答案 0 :(得分:1)
1是命令提示符上的命令,但是2..6是FTP命令。
我会将第2..6行放在名为commands.txt
的文件中,然后将该文件重定向到stdin。
ftp 127.0.0.1 < commands.txt
修改强>
根据ftp帮助,您可以使用-s:commands.txt
代替<
。
-s:filename指定包含FTP命令的文本文件;该
FTP启动后会自动运行命令。
答案 1 :(得分:0)
在每个命令之间使用CRLF
。
答案 2 :(得分:0)
我宁愿使用expect命令,它允许您根据输出编写输入。 您可以在此处找到一些信息:http://en.wikipedia.org/wiki/Expect
您在该页面上有一个示例,它准确描述了您要执行的操作。
答案 3 :(得分:0)
@Albin Sunnanbo
感谢您的回复
我现在从以下教程解决了这个问题 http://www.dostips.com/DtTipsFtpBatchScript.php
我在批处理文件中编写foillowing commnads:
FTP -v -i -s:commands.txt
然后commands.txt包含以下命令
open 127.0.0.1
UserName
Password
put
D:\\zz.xml
mmm.xml