使用单个文件夹中的本地文件更新FTP服务器文件夹层次结构上的文件

使用单个文件夹中的本地文件更新FTP服务器文件夹层次结构上的文件,ftp,Ftp,我有个大问题。我需要将JPG文件从本地文件夹复制/覆盖到服务器文件夹 有没有办法搜索并匹配服务器上的JPG文件和本地的my文件,并覆盖服务器文件夹中的这些文件?我是手工做的,需要很多时间 服务器上有50000个JPG,我需要在短时间内覆盖其中20000个 非常感谢您的回答 下载“Filezilla”。。。上传您的本地文件(全部50000张图片)。。如果服务器中已有映像,它将询问您选项。。选择“覆盖”并使用“全部应用”…没有神奇的方法来完成非常具体的任务。你必须编写脚本 如果您使用的是Window

我有个大问题。我需要将JPG文件从本地文件夹复制/覆盖到服务器文件夹

有没有办法搜索并匹配服务器上的JPG文件和本地的my文件,并覆盖服务器文件夹中的这些文件?我是手工做的,需要很多时间

服务器上有50000个JPG,我需要在短时间内覆盖其中20000个


非常感谢您的回答

下载“Filezilla”。。。上传您的本地文件(全部50000张图片)。。如果服务器中已有映像,它将询问您选项。。选择“覆盖”并使用“全部应用”…

没有神奇的方法来完成非常具体的任务。你必须编写脚本

如果您使用的是Windows,那么使用及其以下各项编写一个

#加载WinSCP.NET程序集
添加类型-路径“WinSCPnet.dll”
#设置会话选项
$sessionOptions=新对象WinSCP.sessionOptions-属性@{
协议=[WinSCP.Protocol]::Ftp
HostName=“ftp.example.com”
UserName=“UserName”
Password=“Password”
}
$remotePath=“/remote/path”;
$localPath=“C:\local\Path”;
#连接
写主机“连接…”
$session=新对象WinSCP.session
$session.SessionLogPath=“upload.log”
$session.Open($sessionOptions)
#枚举远程文件
$fileInfos=
$session.exe枚举远程文件(
$remotePath,“***”,[WinSCP.EnumerationOptions]::所有目录)
#并为它们中的每一个查找匹配的本地文件
foreach($fileInfo中的fileInfo)
{
$localFilePath=(连接路径$localPath$fileInfo.Name)
if(测试路径$localFilePath)
{
写入主机(“找到与远程文件匹配的本地文件$localFilePath”+
$($fileInfo.FullName),正在覆盖
#用#命令这一行进行试运行
$session.PutFiles($localFilePath,$fileInfo.FullName).Check()
}
其他的
{
写入主机(“未找到与远程文件匹配的本地文件”+
$($fileInfo.FullName),正在跳过
}
}
写主机“完成”
将脚本保存到一个文件(
SortOutFiles.ps1
),将包的内容与脚本一起提取,然后像以下方式运行它:

C:\myscript>powershell -ExecutionPolicy Bypass -File SortOutFiles.ps1
Connecting...
Found local file C:\local\path\aaa.txt matching remote file /remote/path/1/aaa.txt, overwritting...
Found local file C:\local\path\bbb.txt matching remote file /remote/path/2/bbb.txt, overwritting...
Found local file C:\local\path\ccc.txt matching remote file /remote/path/ccc.txt, overwritting...
Done
您可以首先通过使用
$session.PutFiles
调用注释掉该行来干运行脚本


(我是WinSCP的作者)

但服务器上的JPG位于不同的文件夹中。在我的本地服务器上,只有JPG与JPG文件同名。Filezilla可以将本地JPEG复制到正确的文件夹中?非常感谢您的建议。