使用smbclient传输文件夹的内容

时间:2016-03-09 14:12:31

标签: shell ftp smb

我编写了一个Shell脚本,该脚本移动到存在一些二进制文件的目录中。

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

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

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

我所知道的唯一其他选项是去一个文件夹,并使用命令mput binaries - 但这会复制包括文件夹在内的所有内容。

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

2 个答案:

答案 0 :(得分:1)

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

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

对于那些像我这样难以接受的人,请留下这个!

答案 1 :(得分:0)

我要将Dustin的自我答案格式化为真正的单行。也可以添加前置的&#34; cd&#34;命令进入smbclient命令,如下:

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