ฉันจะดาวน์โหลดไดเรกทอรีซ้ำโดยใช้ smbclient ได้อย่างไร


22

เมื่อฉันพยายามเรียกไดเรกทอรีด้วยget "Path To\Directory\"ฉันได้รับข้อผิดพลาดต่อไปนี้:

NT_STATUS_FILE_IS_A_DIRECTORY opening remote file Path To\Directory

ฉันจะดาวน์โหลดไดเรกทอรีนี้ซ้ำ ๆ ได้อย่างไร?

(ใช้ smbclient v3.6.23 เซิร์ฟเวอร์เป็นคอมพิวเตอร์ที่ใช้ Windows 7 Home Edition)


smbclient ใช้ซีแมนทิกส์แบบเดียวกับที่ไคลเอนต์เซิร์ฟเวอร์เช่น FTP และ HTTP ทำโดยที่แต่ละไฟล์จะรับหรือวางเป้าหมายหนึ่งไฟล์ คุณสามารถเขียนสคริปต์เพื่อทำการดึงข้อมูลตามไดเรกทอรีหรือคุณสามารถใช้คำสั่ง mget / mput เพื่อระบุมาสก์หรือไวด์การ์ดเพื่อดึงหลายไฟล์ดังที่แสดงในคำตอบของฉัน อาจเป็นได้ว่า smbclient ไม่ใช่เครื่องมือที่เหมาะสมสำหรับวัตถุประสงค์ของคุณ
Frank Thomas

คำตอบ:


50

ต่อmanpage smbclientคุณจะต้องใช้mgetคำสั่งด้วยmaskและrecursionและpromptชุด จากนั้นcdไปยังไดเรกทอรีที่คุณต้องการเรียกซ้ำ

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

หรือทั้งหมดในบรรทัดเดียว

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

หากคุณต้องการตรวจสอบสิทธิ์เซิร์ฟเวอร์หล่น -N และใช้การตั้งค่ารหัสผ่านในคำสั่งเชื่อมต่อ

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


2
นอกจากนี้ฉันคิดว่าคุณได้รับการเสนอราคาของคุณสับสนเล็กน้อยในหนึ่งซับ smbclientดูเหมือนว่าฉันจะชอบจัดการกับไดเรกทอรีใน "เครื่องหมายคำพูดคู่" เท่านั้น
c24w

เพิ่งคัดลอกและแทนที่โฟลเดอร์ แต่มันใช้งานไม่ได้ - ลงท้ายด้วย trailing>
Wax Cage

สำหรับคนที่ต้องการคัดลอกโดยไม่มีปัญหาให้ทำตามบทความนี้: indradjy.wordpress.com/2010/04/14/ … (ช่วยฉันด้วย)
Wax Cage

0

ใช้ตัวเลือก -D เพื่อตั้งค่าไดเรกทอรี

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

ถ้าคุณต้องการดาวน์โหลด / รับไฟล์ให้ทำ

smbclient -D "\Path\To\Directory" -c "get target /tmp/target"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.