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

Jak mogę przesłać na FTP wiele plików z linii poleceń?

Chciałbym przesłać na FTP zawartość katalogu, ale nie mogę znaleźć odpowiedniego sposobu na użycie symbolu wieloznacznego. Wygląda na to, że byłoby to powszechne; czy moje całe podejście jest błędne?

Komenda jest

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

Skrypt, który jest wywoływany jest poniżej. Aktualizacja na billinkc.

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

Skrypt się uruchamia, żadne pliki nie są kopiowane, a sesja FTP pozostaje otwarta.

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>

Włączenie

Potrzebowałem dodać flagę do wyłączenia komendy PROMPT:

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

Odpowiedzi (7)

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

Przed wydaniem polecenia mput należy wydać polecenie prompt , aby wyłączyć Tryb Interaktywny. Po wyłączeniu nie powinno się prosić o potwierdzenie każdego pliku dla mput (lub mget).

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

Nigdy nie próbowałem używać nazwy ścieżki dostępu dla folderów lokalnych, ale zrobiłem to zmieniając katalog lokalny (lcd):

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

Spróbuj wstawić linię prompt n tuż przed linią mput

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

Jak wspomniał Tim Haegele, ncftp robi to bardzo sprawnie na Linuksie, jeśli jesteś w stanie i chcesz go zainstalować:

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

Użyj polecenia mput, aby umieścić wiele plików.

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

Jeśli masz prawa administratora, możesz zainstalować ncftpput . Jest on łatwy w użyciu i świetny do rekurencyjnego przesyłania plików na FTP. Przełącznik do przesyłania rekurencyjnego to -R.

Oprogramowanie jest zawarte w większości dystrybucji Linuksa. Dla Windows jest instalowany z Cygwin .

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

To jest skrypt, którego użyłem i który zadziałał dla mnie.

Dla ftp1.bat (skrypt):

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

Dla ftp.txt (skrypt):

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

Może są części, które nie są potrzebne, ale stawiam to tak, jak zadziałało dla mnie, mam nadzieję, że to pomoże