23

Я хотел бы отправить по FTP содержимое каталога, но я не могу найти правильный способ использовать подстановочный знак. Кажется, это было бы обычным делом; весь мой подход неверен?

Команда

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com

Сценарий, который вызывается ниже. Обновлено за биллинкк.

username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

Сценарий запускается, файлы не копируются, а сеанс FTP остается открытым.

230 User username Logged in Successfully
ftp> ascii
200 TYPE Command OK A
ftp> cd "/destinationfolder"
250 Directory successfully changed to "/destinationfolder"
ftp> lcd "C:\Backup"
Local directory now C:\Backup.
ftp> mput *.bak
mput 9829980.bak? close
mput 6406766.bak? quit
ftp>
ftp>

Заключение

Мне нужно было добавить флаг, чтобы подавить команду PROMPT:

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

6 ответов6

35

Перед выполнением команды mput команду с prompt чтобы отключить интерактивный режим. После этого он не должен просить вас подтвердить каждый файл для mput (или mget).

3

Я никогда не пытался использовать путь для локальных папок, но я сделал это, изменив локальный каталог (lcd):

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
2

Используйте команду mput для размещения нескольких файлов.

2

Попробуйте вставить строку prompt n прямо перед mput

1

Если у вас есть права администратора, вы можете установить ncftpput. Он прост в использовании и отлично подходит для рекурсивных загрузок по FTP. Переключатель для рекурсивной передачи -R .

Программное обеспечение включено в большинство дистрибутивов Linux. Для Windows это устанавливается с Cygwin.

0

Как отметил Тим Хэгеле, ncftp делает это очень гладко в Linux, если вы можете и хотите его установить:

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .