如何在批处理文件中编写顺序命令

时间:2010-11-02 18:16:37

标签: batch-file command-prompt

我想要使用批处理文件执行以下命令:

1.ftp 127.0.0.1 
2.USERNAME
3.PASSWORD 
4.put
5.D:\\zz.xml
6.mmm.xml 

每个命令都是prev命令的序列

我想将文件从本地移动到ftp服务器
我用Google搜索,然后我发现插入;命令之间是解决方案,但对我来说不正确

请支持我

4 个答案:

答案 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