smbclient - 发送目录中的所有文件

时间:2016-08-11 07:55:40

标签: linux windows samba

我创建了一个shell脚本,通过sbmclient将文件在Linux上发送到Windows。

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

完美无缺。

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

我想立刻发送所有文件,是否可能?

2 个答案:

答案 0 :(得分:7)

我发现当本地工作目录等于您要上传的目录时,它才能正常工作。

但是可以指定本地目录:

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

在交互模式中,我猜这看起来像这样:

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

答案 1 :(得分:1)

连接smbclient'// host / folder'-U user --pass密码。

连接后,键入以下内容:

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

注意:不要忘记目录名末尾的*。