问题标签 [winscp-net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6707 浏览

c# - 使用 WinSCP .NET 程序集列出具有特定扩展名的文件

我正在使用 WinSCP .NET 程序集通过 C# .NET 通过 SFTP 进行下载和上传。我有下载功能,但我正在寻找一种方法来列出远程服务器中的文件(或至少列出具有特定扩展名的文件),因此用户只需从具有特定扩展名(如.txt)的文件中进行选择即可获取他们想要的文件。

有没有办法用 WinSCP .NET 程序集做到这一点?

0 投票
1 回答
2436 浏览

c# - WinSCP .NET 程序集:目录同步中的 FileMask 不起作用

这是我想首先用外行术语做的事情:我想获取文件(也许只是一些文件)。如果有子目录,我也想在这些子目录中获取文件。我正在使用 Visual C++/CLI 进行编程,所以我使用的是 .net 程序集。

在 WinSCP 中,即使用Session.SynchronizeDirectories(). 最后一个参数是TransferOptions(一个类),它通常设置为空。基本上这意味着每个文件都将被传输。如果我创建一个对象并设置属性string FileMask,我应该只能传输某些文件。

所以我将WinSCP C#示例程序更改为:

当我运行程序时,当前目录和子目录中的所有内容都会被转移!

认为我在指定这些选项时可能是错误的。我使用 WinSCP 程序。(可参考 WinSCP 网站传输设置对话框页面中的图片。)

除了我为文件掩码输入以下内容外,所有选项都很清楚: *.txt

我单击确定按钮开始传输。我有预览选项。而且我只看到选择的 txt 文件,甚至是子目录中的一个

所以 WinSCP 程序有效,但 API 无效?

[编辑] 我正在使用 5.5.2 版的 WinSCP 程序集。

0 投票
2 回答
370 浏览

c# - WinSCP .NET 程序集:在 C++/CLI 中将自定义事件处理程序设置为 Session.FileTransferred

对不起,我有一个具体的问题。是的,这与为事件设置自定义事件处理程序有关。是的,这类问题可能已经被问过很多次了,但这里我只限于 WinSCP 的情况。

参考Session.SynchronizeDirectories方法中的示例:
http ://winscp.net/eng/docs/library_session_synchronizedirectories

我正在将 C# 示例转换为 C++/CLI,但遇到问题。

在 C# 中,设置为:

在 C++/CLI 中,我执行以下操作:

但我得到这个错误:

函数 FileTransferred() 与委托类型“void (System::Object ^, System::EventArgs ^)”不匹配。

我尝试更改为FileTransferred(System::Object ^sender, EventArgs ^e),但随后整个身体FileTransferred()变得无效。

0 投票
1 回答
294 浏览

memory-leaks - 多次删除和创建相同对象导致的任何内存泄漏

0 投票
1 回答
7350 浏览

file-io - WinSCP Session::RemoveFiles - 删除子目录中的指定文件

[问题] 是否Session::RemoveFiles()删除源目录子目录中的文件?如果没有,如何实现这个能力?

(请不要问我为什么将远程目录设置为/C/testTransfer/. 代码仅用于测试目的。)

我有一个使用 WinSCP .Net 程序集的 SFTP 程序。程序语言是 C++/CLI。它打开一个工作文件。该文件包含多行 FTP 指令。

我必须处理的一种指令是*.txt从源目录传输。源目录可能包含子目录,子目录也可能包含.txt。传输成功后,删除源文件。

Session::GetFiles()用于转移。它正确地将源中的所有.txt文件 ( /C/testTransfer/*.txt),甚至是子目录 ( /C/testTransfer/sub/*.txt) 中的文件传输到目标。

现在要删除,我使用session->RemoveFiles("/C/testTransfer/*.txt"). 我只看到*.txt在源(/C/testTransfer/*.txt)中,而不是在子目录(/C/testTransfer/sub/*.txt)中,都被删除了。

0 投票
1 回答
806 浏览

c++-cli - WinSCP:使用 GetFiles() 遇到连接目录

[问题] WinSCP可以处理Junction目录吗?

我正在使用 C++/CLI 使用 WinSCP .NET 程序集(版本 5.5.3)编写 SFTP 程序。我的程序读入一个计划文件。最初获取文件的源路径必须是绝对路径。现在我必须支持相对路径,我遇到了一个问题。

以下是尝试获取主目录中的所有文本文件。当然,我也想获取主目录内所有子目录中的所有文本文件。所以我使用:

假设我们使用这个账号terry登录远程计算机,远程主目录是/C/Users/terry/Documents. 从session->DebugLog文件中,我发现 WinSCP 试图检查主目录中的所有文件和目录。

名单是:

WinSCP 遍历列表中的每个项目。处理后firstDirectory,它会尝试处理My Music。但是,由于权限被拒绝,它会返回一个错误,因为它无法处理。

然后我去服务器,然后做一个dir. 我发现这 3 个“我的”目录是 [Junction]:

我检查了这些并找出了这些: 主题“同步已损坏”;;追踪器错误 1132 ;; 主题:“WinSCP 在同步时不检查硬链接目标日期”

他们有关系吗?

0 投票
2 回答
188 浏览

c# - 此代码是否存在瓶颈或资源密集型?

该代码将以 15 分钟的间隔执行 4 个线程。我上次运行它时,前 15 分钟复制得很快(6 分钟内复制了 20 个文件),但第二个 15 分钟要慢得多。这是零星的,我想确定,如果有任何瓶颈,它与远程服务器的带宽限制有关。

编辑:我正在监视最后一次运行以及 15:00 和 :45 分别在 8 分钟内复制。:15 还没有结束,:30 也没有结束,而且都在 :45 之前至少 10 分钟开始。

这是我的代码:

0 投票
1 回答
995 浏览

asp.net-mvc - WinSCP .NET 程序集在 Azure 上不起作用

我在 Azure 上执行 WinSCP .NET 程序集(NuGet 插件)时遇到问题。一切正常localhost,但是当我在 Azure 上部署我的 Web 应用程序时,出现以下错误:

WinSCP 进程以退出代码 -1073741819 终止并输出“”,没有响应(未创建响应日志文件 C:\DWASFiles\Sites\mysite\Temp\wscp573C.00D7BA5D.tmp)。这可能表明缺少对日志文件夹的写入权限或启动 WinSCP 本身的问题。

0 投票
1 回答
9703 浏览

c# - 使用 WinSCP 禁止在 SFTP 或 SCP 中使用主机密钥

我正在使用 WinSCP .NET 程序集(版本 5.5.0.3839)下载文件的应用程序

我下载文件的代码如下

FTP 工作正常,但使用 SFTP 需要主机密钥。

当我直接使用 WinSCP 应用程序时,它会警告主机密钥,用户可以通过单击“复制密钥”按钮来复制主机密钥。

主机密钥将被复制到剪贴板,我们可以使用此密钥从 SFTP 或 SCP 下载文件。

还有一个选项,用户可以禁止使用主机密钥。

我想以编程方式禁止使用主机密钥。

让我知道是否需要任何其他信息。

0 投票
1 回答
4082 浏览

public-key - “未验证主机密钥!” 使用 WinSCP .NET 程序集连接时

我正在尝试使用以下代码建立与 SFTP 服务器的连接,我将收到此错误消息“主机密钥未验证!” .

但是,如果我使用以下代码建立连接,则可以连接。

我很想知道我在第一种方法中做错了什么?