前端之家收集整理的这篇文章主要介绍了
windows – 将RoboCopy与FtpUse结合使用,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
502_0@
我们的客户需要通过FTP将指定
文件从他们的网络传输到我们的网络.只要其中一个指定的
文件发生更改,就必须
自动调用传输.为此,RoboCopy是完美的.但是,RoboCopy
不支持传输到FTP地址.
所以,我想将我们的FTP
站点映射到客户端服务器上的驱动器号.我发现
FtpUse非常适合将FTP映射到驱动器盘符.映射按预期工作,我可以在Windows资源管理器中看到FTP
站点的
内容 – 我也可以将数据写入映射的FTP驱动器.
所以,假设我已经使用以下命令映射了FTP站点以在本地计算机上驱动Q:
ftpuse Q: [ftp address] [password] /USER:[username]
并尝试使用此命令设置RoboCopy:
robocopy [source dir] Q:\ *.xls *.xlsx /COPY:DAT /LOG+:"[LogDir]\FtpCopyLog.txt" /V /NP /MON:1 /MOT:1 /R:10 /W:30
当RoboCopy运行时,它失败并显示以下错误消息:
ERROR 87 (0x00000057) Copying File [source dir]\test2.xlsm
The parameter is incorrect
我试图映射驱动器并在samme用户帐户下运行RoboCopy命令,但它似乎无法解决问题.
希望有人能提供帮助.
任何帮助将不胜感激.
尝试在镜像模式下使用WinSCP. WinSCP可以从这里下载:
http://winscp.net/eng/download.php
使用WinSCP,您不需要映射驱动器,它只是直接连接到FTP并为您工作.
这是一个小的BAT脚本,使其类似于ROBOCOPY.
WATCH OUT:我添加了-delete选项,删除不再与本地文件夹匹配的远程文件.需要双引号,因为本地路径中有空格.
set FTPSERVER=v2008
set FTPUSER=username
set FTPPASS=password
set FTPLOCALE=C:\Users\User\Desktop\Local folder
set FTPREMOTO=/public
winscp.com /command "open ftp://%FTPUSER%:%FTPPASS%@%FTPSERVER%/" ^
"synchronize remote -delete ""%FTPLOCALE%"" %FTPREMOTO%"