Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何使用WinSCP下载较新的文件并将其保存到两个本地文件夹?_Batch File_Cmd_Ftp_Winscp - Fatal编程技术网

Batch file 如何使用WinSCP下载较新的文件并将其保存到两个本地文件夹?

Batch file 如何使用WinSCP下载较新的文件并将其保存到两个本地文件夹?,batch-file,cmd,ftp,winscp,Batch File,Cmd,Ftp,Winscp,我有一个文件夹(ftp\u region)中的文件,其内容与我的ftp中的数据相似 如何从我的FTP下载较新的文件并将其保存到两个本地文件夹(FTP\u region和其他文件夹) 现在,我用这个: open "my ftp address" get -neweronly "..." "..." 您不能用普通的WinSCP脚本实现这一点 你最好用这个。它允许您处理下载的文件 下面是一个示例代码: #加载WinSCP.NET程序集 添加类型-路径“WinSCPnet.dll” #设置会话选项 $

我有一个文件夹(
ftp\u region
)中的文件,其内容与我的ftp中的数据相似

如何从我的FTP下载较新的文件并将其保存到两个本地文件夹(
FTP\u region
和其他文件夹)

现在,我用这个:

open "my ftp address"
get -neweronly "..." "..."

您不能用普通的WinSCP脚本实现这一点

你最好用这个。它允许您处理下载的文件

下面是一个示例代码:

#加载WinSCP.NET程序集
添加类型-路径“WinSCPnet.dll”
#设置会话选项
$sessionOptions=新对象WinSCP.sessionOptions-属性@{
协议=[WinSCP.Protocol]::Ftp
HostName=“ftp.example.com”
用户名=“用户”
Password=“Password”
}
写主机“连接…”
$session=新对象WinSCP.session
#$session.SessionLogPath=“C:\path\to\log\sync.log”
$session.Open($sessionOptions)
$remotePath=“/remote/path”
$localPathPrimary=“C:\backup\primary”
$localPathSecondary=“C:\backup\secondary”
写入主机“正在同步…”
$result=
$session.synchronizeDirectory(
[WinSCP.SynchronizationMode]::本地,$localPathPrimary,$remotePath,$False)
$result.Check()
写入主机“将下载的文件复制到辅助备份…”
foreach($result.Downloads中的下载)
{
$filename=(拆分路径-Leaf$download.Destination)
$localFilePathSecondary=(连接路径$localPathSecondary$filename)
复制项目$download.Destination$localFilePathSecondary
写入主机“文件$filename已存档到两个文件夹。”
}


代码基于官方示例。

在“其他”文件夹中,是否也包含与
ftp\u区域相同的文件
?或者,您是否需要将下载的文件复制到另一个文件夹,而不管这些文件已经存在?另一个文件夹是空的,我希望从myftp(仅newerfile)在downoal复制。所以,当我从ftp下载时,一个文件被保存到两个目录,这将是相当复杂的实现。你为什么要这个?也许有一个更简单的解决方案,不需要下载到两个文件夹。