smbclient - Send all files in directory

Espector picture Espector · Aug 11, 2016 · Viewed 19.1k times · Source

I created a shell script to send files on Linux to Windows via sbmclient.

smbclient //HOST_WINDOWS/D$ -U USER --pass PASSWORD -c "put /tmp/test.txt FOLDER_WINDOWS/test.txt"

That works perfectly.

smbclient //HOST_WINDOWS/D$ -U USER --pass PASSWORD -c "put /tmp/* FOLDER_WINDOWS"

I would like to send all files at once, is it possible?

Answer

peedee picture peedee · Sep 7, 2017

I found that it only works reliably when the local working directory is equal to the directory that you want to upload.

But it's possible to specify a local directory:

smbclient //HOST_WINDOWS/D$ -W domain -U username \
-c 'prompt OFF; recurse ON; cd remote/target/directory; lcd /local/source/directory; mput *'

In interactive mode I guess that would look something like this:

smb: \folder\> recurse ON
smb: \folder\> prompt OFF
smb: \folder\> lcd /local/source/directory
smb: \folder\> cd remote/target/directory
smb: \folder\> mput *