Làm cách nào để FTP nhiều tệp từ dòng lệnh?


25

Tôi muốn FTP nội dung của một thư mục, nhưng dường như tôi không thể tìm đúng cách để sử dụng ký tự đại diện. Có vẻ như đây sẽ là một điều phổ biến để làm; toàn bộ cách tiếp cận của tôi là sai?

Lệnh là

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

Kịch bản được gọi là dưới đây. Cập nhật mỗi billinkc.

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

Kịch bản bắt đầu, không có tệp nào được sao chép và phiên FTP vẫn mở.

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>

Phần kết luận

Tôi cần thêm cờ để chặn lệnh PROMPT:

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

Câu trả lời:


36

Trước khi ban hành mputlệnh, hãy ra promptlệnh tắt chế độ Tương tác. Khi đã tắt, không nên yêu cầu bạn xác nhận từng tệp cho mput(hoặc một mget).


3
Đối với những người thắc mắc "cú pháp của promptlệnh này là gì ", bạn thực sự chỉ cần gõ "prompt" và nó bật tắt lời nhắc từ true thành false.
Noumenon

2
Một cách khác để vô hiệu hóa nhắc nhở tương tác là sử dụng -icờ trên ftpchính lệnh (ví dụ ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com). Các tài liệu mô tả -itùy chọn này như sau: "Tắt lời nhắc tương tác trong khi chuyển nhiều tệp."
Jesse Webb

3

Tôi chưa bao giờ thử sử dụng tên đường dẫn cho các thư mục cục bộ, nhưng tôi đã thực hiện nó bằng cách thay đổi thư mục cục bộ ( lcd):

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


1

Sử dụng mputlệnh để đặt nhiều tập tin.


1
Vâng, đó là những gì tôi đang sử dụng
mmcglynn

Đằng sau một tường lửa (đặc biệt là SOHO hoặc các đơn vị cấp doanh nghiệp giá rẻ)? Việc xây dựng trong ftptrong Windows không hỗ trợ chế độ PASV, vì vậy việc chuyển giao sẽ treo và không bao giờ hoàn tất.
Chris S

1

Nếu bạn có quyền quản trị viên, bạn có thể cài đặt ncftpput . Nó rất dễ sử dụng và tuyệt vời để tải lên FTP đệ quy. Việc chuyển đổi để chuyển đệ quy là -R.

Phần mềm được bao gồm trong hầu hết các bản phân phối Linux. Đối với Windows, nó có thể cài đặt được với Cygwin .


1

Như Tim Haegele đã đề cập, ncftp thực hiện việc này rất trơn tru trên Linux, nếu bạn có thể và sẵn sàng cài đặt nó:

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

0

Đây là kịch bản mà tôi đã sử dụng và nó đã làm việc cho tôi.

Đối với ftp1.bat (tập lệnh):

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

Đối với ftp.txt (tập lệnh):

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

Có thể có những phần không cần thiết nhưng tôi đang đặt nó vì nó hiệu quả với tôi, hy vọng nó có ích

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.