Birden fazla dosyayı komut satırından nasıl FTP ile gönderirim?


25

Bir dizinin içeriğini FTP'ye eklemek istiyorum, ancak joker karakter kullanmanın doğru yolunu bulamıyorum. Bu yapılacak ortak bir şey gibi görünüyor; bütün yaklaşımım yanlış mı?

Komut

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

Çağrılan komut dosyası aşağıdadır. Billinkc başına güncellendi.

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

Betik başlar, hiçbir dosya kopyalanmaz ve FTP oturumu açık kalır.

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>

Sonuç

PROMPT komutunu bastırmak için bayrak eklemem gerekiyordu:

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

Yanıtlar:


36

mputKomutu vermeden önce , promptEtkileşimli Modu devre dışı bırakmak için bir komut verin. Bir kez kapalı, sizden mput(veya bir mget) her dosyayı onaylamanızı istememelidir .


3
"Bu promptkomutun sözdizimi nedir" diye merak edenler için , tam anlamıyla sadece "prompt" yazarsınız ve bu durum doğrudan yanlışa sorar.
— Noumenon

2
Etkileşimli istemin devre dışı bırakılmasının başka bir yolu da -ibayrak ftpkomutunun kendisinde kullanmaktır (örneğin ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com). Belgeler-i seçeneği şöyle açıklar : "Birden fazla dosya aktarımı sırasında etkileşimli istemeyi kapatır."
— Jesse Webb

3

Yol adını yerel klasörler için kullanmayı hiç denemedim, ancak yerel dizini ( lcd) değiştirerek yaptım :

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


1

mputBirden fazla dosya koymak için komutu kullanın .


1
Evet, ben kullanıyorum ne
— mmcglynn

Bir güvenlik duvarının arkasında (özellikle SOHO veya ucuz işletme sınıfı birimleri)? ftpWindows'ta yerleşik olan PASV modunu desteklemiyor, bu nedenle aktarım askıda kalıyor ve hiçbir zaman tamamlanmıyor.
— Chris S,

1

Yönetici haklarına sahipseniz, ncftpput'u yükleyebilirsiniz . Özyinelemeli FTP yüklemeleri için kullanımı kolay ve harika. Özyinelemeli aktarma için anahtar -R.

Yazılım çoğu Linux dağıtımında bulunmaktadır. Windows için Cygwin ile kurulabilir .


1

Tim Haegele'nin dediği gibi, ncftp bunu Linux'ta sorunsuz bir şekilde yapıyor, eğer yükleyebiliyorsanız ve kurmak istiyorsanız:

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

0

Bu kullandığım ve benim için çalıştığım senaryo.

Ftp1.bat (script) için:

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

Ftp.txt (script) için:

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

Belki de gerekli olmayan parçalar vardır ama benim için çalıştığı gibi koyarım, umarım yardımcı olur

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.