问题
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?
回答1:
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 *
回答2:
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.
来源:https://stackoverflow.com/questions/38890480/smbclient-send-all-files-in-directory