[英]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 生成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.