繁体   English   中英

FTP将所有文件从目录复制到本地目录

[英]FTP copy all files from a directory to local directory

我正在尝试创建一个批处理文件,使用用户名mark123和密码testabc将FTPs FTPs到URL(例如ftp.tester123.com.au)的目录“ C:\\ Documents \\ Client \\”到本地目录“ C:\\ Desktop \\ GoHere \\”。

该脚本是将此ftp目录中的所有文件复制到本地计算机。 我已经阅读了以下msdn教程https://support.microsoft.com/en-gb/kb/96269

但这对我当前的问题没有帮助。 winscp可以让我执行此任务并为其创建一个批处理文件吗? 我想自动执行此目录-每天晚上12点。 这可能吗?

另外,我对.NET非常熟悉,并且winSCP具有包装程序,可让您编写C#而不是标准脚本。 如果我采用.NET方法,是否可以创建一个可以简单地通过双击执行的简单.exe或批处理文件?

提前致谢!

您想要做的是一件非常琐碎的任务。 您缺少的是对任务的概念性理解。 因此,很难给您一个对您有所帮助的答案,因为很难理解您缺少完成该知识所需要的知识。


最简单的方法是利用WinSCP功能生成传输代码

  • 使用WinSCP登录到您的FTP服务器;
  • 导航到源远程目录和目标本地目录;
  • 选择要下载的远程文件(所有文件?);
  • 使用主菜单中的文件>下载命令(或文件上下文菜单中的下载命令);
  • 在“ 下载”对话框上 ,单击“ 传输设置”按钮上的下拉箭头,然后选择“ 生成代码”命令。

您将看到“ 生成转移代码”对话框

在这里,您可以选择是否要WinSCP 生成WinSCP脚本,甚至是完整的Windows批处理文件

在此处输入图片说明

.NET汇编(C#)代码

在此处输入图片说明

(这些是WinSCP文档的官方屏幕截图。因此,它们显示的是SFTP上传,而不是FTP下载)


现在您已经准备好批处理文件或C#可执行文件,您可以使用Windows Scheduler安排其运行

如果您已安装WinSCP,则以下代码将为您工作。 我从特定文件夹中提取了所有文件,并将其下载到本地文件夹中。 一路写了一个日志文件。 您也可以使用WinSCP生成此代码。

@echo off
set mydate=%date:~10,4%%date:~7,2%%date:~4,2%
set d_name=/export/home/sysm/opt/oss/server/var/fileint/pm/pmexport_%mydate%
#echo %d_name%

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\Users\HP\Desktop\Datacom\Reports\WinSCP.log" /ini=nul ^
  /command ^
    "open sftp://YOUR_USERNAME:YOUR_PASSWORD@FTP_SERVER_IP/ -hostkey=""ssh-rsa 1024 PUuYRVADKXB9j1Si+o89v2fsrsr7w2ZrV3NIqdz6kus0GtY=""" ^
    "cd %d_name%" ^
    "lcd C:\Users\HP\Desktop\Datacom\Reports\Test_ftp" ^
    "get *" ^
    "exit"
set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)
exit /b %WINSCP_RESULT%

根据需要对其进行修改,然后将代码放入.bat文件中。 以后,您可以手动执行它或使用Windows Task Scheduler。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM