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 manpage に従って、mget
およびmask
とrecursion
を設定してPrompt
コマンドを使用する必要があります。次に、cd
を再帰的に取得するディレクトリに
smbclient '\\server\share'
mask ""
recurse ON
Prompt OFF
cd 'path\to\remote\dir'
lcd '~/path/to/download/to/'
mget *
または、すべて1行で、
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
tar
に対してsmbclient
コマンドを使用することもできます。
smbclient -Tc allfiles.tar /path/to/directory
これにより、現在のディレクトリにsmbclient
コマンドが実行され、tarアーカイブallfiles.tar
が作成されます。その後、tar xf allfiles.tar
を使用してファイルを再度解凍できます。
-Dオプションを使用してディレクトリを設定する
smbclient -D "\" -c ls
smbclient -D "\Path\To\Directory" -c ls
ファイルをダウンロード/取得したい場合は、
smbclient -D "\Path\To\Directory" -c "get target /tmp/target"