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

13

我创建了一个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个回答

28

我发现只有在本地工作目录等于要上传的目录时,它才能可靠地工作。

但是也可以指定一个本地目录:

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 *

4

使用命令 "smbclient '//host/folder' -U user --pass Password" 连接。

连接成功后,输入以下命令:

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

注意:不要忘记目录名末尾的星号(*)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接