2011-11-16 14:47:23 +0000 2011-11-16 14:47:23 +0000
25
25

Как мне использовать FTP несколько файлов из командной строки?

Я бы хотел использовать 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

Ответы (7)

36
36
36
2011-11-16 15:22:28 +0000

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

3
3
3
2011-11-16 15:01:47 +0000

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

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
2
2
2
2011-11-16 15:28:32 +0000

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

1
1
1
2014-04-25 16:55:45 +0000

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

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01
1
1
1
2011-11-16 14:55:58 +0000

Используйте команду mput, чтобы поместить несколько файлов.

1
1
1
2011-11-16 22:09:40 +0000

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

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

0
0
0
2019-06-03 19:51:05 +0000

Это скрипт, который я использовал и который работал на меня.

For ftp1.bat (script):

ftp -i -s:\tmp\ftp.txt

For ftp.txt (script):

Open ip
username
password
prompt
lcd C:\YourFolder\YourFolder
binary
cd /DestinationFolder
prompt
mput *.bak
cd ..
disconnect
quit

Может быть, есть части, которые не нужны, но я ставлю его так, как он работал на меня, надеюсь, что он поможет.