当前位置: 首页 > 知识库问答 >
问题:

在C#中复制和移动文件从一个目录到另一个目录(不同的服务器)

齐财
2023-03-14

我已经纠结于此一段时间了,我并不真正理解如何通过使用SSIS来解决这种情况(我正在考虑用C#创建一个脚本任务)

这就是我的问题:每天都会创建一个文件并将其存储在特定服务器的某个目录中(我可以使用Filezilla或任何其他程序中的客户端-服务器应用程序中的FTP协议访问它),我希望复制该文件,将其保存在使用SFTP协议的不同服务器的不同目录中,然后,一旦它100%地被放置在该目录中,移动原始文件并将其放入不同的文件夹中。

看看这个例子:

我需要复制该文件(MyFileTest.csv)并将其粘贴到不同的目录中,来自不同的服务器(它使用SFTP协议,路由是:secondServer/placeHere)。

最后,一旦它被粘贴到该目录中,我想移动原始文件并将其粘贴到文件夹“process”中。它不应该再出现在/interfaces/mydirectory目录中,而应该只出现在/interfaces/mydirectory/process

我可以通过使用以下代码获得CSV文件:

using System.IO;
using System.Linq;

        string filename = new DirectoryInfo(@"C:\interfaces\mydirectory").GetFiles()
                               .Where(e => e.Extension.ToLower() == ".csv")
                               .OrderByDescending(d => d.LastWriteTime)
                               .Select(f => f.FullName)
                               .First();

我一直试图将文件从第一个服务器复制并移动到第二个服务器,但没有成功,但我现在有点迷路了。

能帮我解决吗?

共有1个答案

和光启
2023-03-14

如果FTP和SFTP是唯一可用的接口,就没有办法直接将文件从FTP复制到SFTP服务器。

您必须从FTP服务器下载文件,然后将它们上传到SFTP服务器。

>

  • 有关FTP下载,请参见在C#/.NET中向FTP服务器上载文件并从FTP服务器下载文件

    有关SFTP上载,请参阅C#SFTP上载文件

  •  类似资料:
    • 我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

    • 问题内容: 我想使用Java将文件从一个目录复制到另一个目录(子目录)。我有一个包含文本文件的目录dir。我遍历dir中的前20个文件,并想将它们复制到dir目录中的另一个目录中,该目录是我在迭代之前创建的。在代码中,我想将(代表第ith个文本文件或审阅)复制到。我怎样才能做到这一点?似乎没有这样的功能(或者我找不到)。谢谢。 问题答案: 目前,这应该可以解决你的问题 从类阿帕奇公地IO库,因为1

    • 问题内容: 说我在目录中还有一个文件。如何替换为使用?我在Windows XP上,跨平台的解决方案会很棒,但是Windows是首选。 问题答案: 您可以使用以下 功能: 在其手册页中引用了几个相关的句子: 将文件源的副本复制到dest。 如果目标文件已经存在,它将被覆盖。

    • 我使用SSH SFTP采样器在jmeter中进行SFTP测试。我可以将文件从Ftp位置获取/Put到本地位置,反之亦然。但我无法将文件从同一FTP位置的一个目录移动到另一个目录。 请建议。

    • 问题内容: 将整个目录内容复制到Java或groovy中的另一个目录的方法? 问题答案: 将整个目录复制到保存文件日期的新位置。此方法将指定的目录及其所有子目录和文件复制到指定的目的地。目标是目录的新位置和名称。 如果目标目录不存在,则会创建该目录。如果目标目录确实存在,则此方法将源与目标合并,并且源优先。 为此,这是示例代码