使用 smbclient 传输文件夹的内容

Transferring the Contents of a Folder Using smbclient

我写了一个 Shell 脚本,它移动到一个包含一些二进制文件的目录中。

我要做的是传输此目录中存在的所有文件。

cd /home/user/binaries
smbclient //ip.address/directory$ password -W domain -U username << ENDOFMYSMBCOMMANDS
prompt
put *
exit
ENDOFMYSMBCOMMANDS

我尝试使用 put * 传输所有文件 - 但不被接受。

我知道的唯一其他选择是向上移动一个文件夹,然后使用命令 mput binaries - 但是这会复制所有内容,包括文件夹。

如何修改我的脚本以仅传输目录的内容?

我一直都有答案!!我的印象是 mput 只能用于传输目录,原来在目录中使用 mput * 将复制该目录中的所有文件!

cd /home/user/binaries
smbclient //ip.address/directory$ password -W domain -U username << ENDOFMYSMBCOMMANDS
prompt
put *
exit
ENDOFMYSMBCOMMANDS

将把这个留在这里给像我一样被这个难倒的人!

我打算将 Dustin 的自我回答格式化为一个真正的单行。也可以将前缀 "cd" 命令添加到 smbclient 命令中,如下所示:

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