我们的客户需要通过FTP将指定文件从他们的网络传输到我们的网络.只要其中一个指定的文件发生更改,就必须自动调用传输.为此,RoboCopy是完美的.但是,RoboCopy不支持传输到FTP地址.
所以,我想将我们的FTP站点映射到客户端服务器上的驱动器号.我发现 FtpUse非常适合将FTP映射到驱动器盘符.映射按预期工作,我可以在Windows资源管理器中看到FTP站点的内容 – 我也可以将数据写入映射的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
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%"