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.