Как писать последовательные команды в командном файле - PullRequest
0 голосов
/ 02 ноября 2010

Я не хочу выполнять следующие команды с помощью командного файла:

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

Каждая команда является последовательностью команды prev

Я хочу переместить файл с локального сервера ftp
Я гуглил и нашел эту вставку;между командами - это решение, но оно мне не подходит

Пожалуйста, поддержите меня

Ответы [ 4 ]

1 голос
/ 02 ноября 2010

1 - это команда в командной строке, но 2..6 - команды FTP.

Я бы поместил строки 2..6 в файл с именем commands.txt, а затем перенаправил этот файл на стандартный ввод.

ftp 127.0.0.1 < commands.txt

Edit:
Вы можете использовать -s:commands.txt вместо < согласно справке ftp.

-s: имя файла Указывает текстовый файл, содержащий команды FTP; Символ
команды будут запускаться автоматически после запуска FTP.

0 голосов
/ 02 ноября 2010

@ Альбин Суннанбо

Спасибо за ваш ответ

Теперь я решил проблему с помощью следующего урока http://www.dostips.com/DtTipsFtpBatchScript.php

Я пишу следующие комнады в пакетном файле:

FTP -v -i -s:commands.txt

затем command.txt содержит следующие команды

open 127.0.0.1 
UserName
Password
put
D:\\zz.xml
mmm.xml
0 голосов
/ 02 ноября 2010

Я бы предпочел использовать команду ожидающих, которая позволяет вам записывать ввод данных в соответствии с выводами. Вы можете найти некоторую информацию здесь: http://en.wikipedia.org/wiki/Expect

У вас есть пример на этой странице, который точно описывает, что вы хотите сделать.

0 голосов
/ 02 ноября 2010

Используйте CRLF между каждой командой.

...