Smbclient kullanarak bir dizini özyineli olarak nasıl indirebilirim?


23

Bir dizini almaya çalıştığımda get "Path To\Directory\", aşağıdaki hatayı alıyorum:

NT_STATUS_FILE_IS_A_DIRECTORY opening remote file Path To\Directory

Bu dizini özyineli olarak nasıl indirebilirim?

(Smbclient v3.6.23 kullanma. Sunucu, Windows 7 Home Edition çalıştıran bir bilgisayardır.)


smbclient, FTP ve HTTP gibi sunucu istemcilerin yaptığı semantiklerin aynısını kullanır; burada her biri bir dosyayı alır veya koyar. dizine göre alım yapmak için komut dosyaları yazabilir veya cevabımda gösterildiği gibi birden çok dosyayı almak için bir maske veya joker karakter belirtmek üzere mget / mput komutlarını kullanabilirsiniz. smbclient'in amaçlarınız için tam olarak doğru bir araç olmaması olabilir.
Frank Thomas

Yanıtlar:


51

başına smbclient man , kullanmak gerek mgetbir ile, komut maskve recursionve promptseti. Sonra cdözyinelemeli almak istediğiniz dizine

    smbclient '\\server\share'
    mask ""
    recurse ON
    prompt OFF
    cd 'path\to\remote\dir'
    lcd '~/path/to/download/to/'
    mget *

veya hepsi tek bir satırda,

smbclient '\\server\share' -N -c 'prompt OFF;recurse ON;cd 'path\to\directory\';lcd '~/path/to/download/to/';mget *'

sunucu drop -N'de kimlik doğrulaması yapmanız ve connect komutunda Parola ayarını kullanmanız gerekiyorsa.

http://technotize.blogspot.com/2011/12/copy-folder-with-ubuntu-smb-client.html


2
Ayrıca, tekliflerinizin tek satırda biraz karıştığını düşünüyorum. Benim smbclientsadece "çift tırnak" dizinleri ile ilgili gibi görünüyor.
c24w

Sadece kopyalandı ve klasörleri değiştirdi ama işe yaramadı - sondaki ile biter>
Wax Cage

İnsanlar gerçekten sorunsuz bir şekilde kopyalamak istiyorlar için bu makaleyi izleyin: indradjy.wordpress.com/2010/04/14/… (bana yardım etti)
Wax Cage

0

Dizini ayarlamak için -D seçeneğini kullanın

smbclient -D "\" -c ls
smbclient -D "\Path\To\Directory" -c ls

dosyayı indirmek / almak istiyorsanız,

smbclient -D "\Path\To\Directory" -c "get target /tmp/target"
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.