Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

smbclient - Send all files in directory

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?

like image 790
Espector Avatar asked Aug 11 '16 07:08

Espector


2 Answers

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 *
like image 100
peedee Avatar answered Sep 18 '22 18:09

peedee


Connect with smbclient '//host/folder' -U user --pass Password.

Once connected type the following:

smb: \folder\> recurse
smb: \folder\> prompt
smb: \folder\> mput NameOfDirectoryToBeCopiedToSMBHostFolder*

Note: Don't forget the * at the end of the directory name.

like image 20
J9Fackque Avatar answered Sep 16 '22 18:09

J9Fackque