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

smbclient 맨 페이지 마다 and 및 set mget명령 을 사용해야합니다 . 그런 다음 재귀 적으로 얻으려는 디렉토리로maskrecursionpromptcd

    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 *'

서버 drop -N을 인증해야하는 경우 connect 명령에서 비밀번호 설정을 사용하십시오.

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


2
또한, 나는 당신이 당신의 인용문을 하나의 라이너에 약간 혼란스럽게 생각한다고 생각합니다. 내 smbclient유일한 방법은 "큰 따옴표"로 디렉토리를 다루는 것 같습니다.
c24w

그냥 폴더를 복사하고 교체했지만 작동하지 않았습니다-후행으로 끝남>
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.