问题标签 [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.
c# - 使用 WinSCP .NET 程序集删除或仅移动具有 SFTP 协议的选定文件
我正在尝试通过以下操作开发一个简单的 SFTP 文件传输项目
- 上传
- 下载
- 在远程服务器中移动文件
- 删除文件
在上传时,session.PutFiles()
我们有一个称为transferOptions.FileMask
过滤文件的属性。
但我没有在里面和里面看到任何类似的session.MoveFile()
东西session.RemoveFiles()
我的问题是,如果我只需要移动/删除选定的文件,我该怎么办?
c# - 使用 WinSCP .NET 程序集传输后比较文件
我正在使用 WinSCP .NET 程序集将文件从 Windows 传输到 Unix 服务器(主要是 .doc 文件)。有时文件作为空白文档传输。但是来源已经包含了内容。我无法进行目录级同步,因为我正在将文档从不同的客户端机器传输到 Unix 服务器。我正在使用以下代码:
有什么方法可以检查传输的文件是否与源文件同步?
c# - WinSCP C#第一次使用
我在我的 PC 上安装了 WinSCP,并希望通过 C# 控制台应用程序连接到另一台服务器。
但是如果我运行 .exe,应用程序甚至在第一个 console.writeline 出现之前就崩溃了。任何想法我做错了什么?
更新:弹出一个警报,上面写着:WINSCP_SFTP 已停止工作.. 然后在 cmd 行中出现一个文本:未处理的异常.. 我尝试尝试..catch 我的整个代码,但它也没有捕捉到错误
发生的错误(图片来自网络,不是我的应用程序的屏幕截图):
winscp - 使用 WinSCP .NET 程序集将 WinSCP 脚本转换为 C# 代码
一年多来,我一直在使用 WinSCP 从外部服务器下载文件,方法是在自动运行的日常任务中从我的 C# 代码中触发外部脚本。
我最近升级到版本 5.5.6(从 V4.3.5.1463),这样我就可以为此使用 .NET 库,并为不同的服务器执行新的 SFTP 任务。新服务器上的 SFTP 任务使用 .NET 库运行得非常好。我对此非常满意,但旧的脚本代码现在失败了。
我尝试添加 .NET 代码只是为了登录并获取文件列表,但也失败了。但是,如果我直接运行 winscp UI,我可以看到服务器上的文件并下载它们。我在代码中使用了与 UI 中相同的细节,包括密钥。该代码显然是连接到服务器并确认了密钥,但随后无法进行身份验证!任何人都可以帮忙吗?
注意:我已将其复制winscp.exe
到与 .NET 库相同的文件夹中。我的帐户不需要密码。
我还创建了一个日志文件,如下...
请注意,为了安全起见,在此日志中,我更改了我的用户名、连接 IP 地址和密钥。
这是我的 C# 代码:
c# - WinSCP SFTP - .tmp The process cannot access the file
I'm trying to upload file using following code but getting error below.
Some notes: I'm using Windows 7. Using CrushFTP SFTP server, able to connect with using FileZilla and WinSCP client, but through code its being nightmare.
Error/exception:
A first chance exception of type 'System.IO.IOException' occurred in mscorlib.dll
Additional information: The process cannot access the file 'C:\Users\xxxxxxx\AppData\Local\Temp\wscp0D64.036B20B7.tmp' because it is being used by another process.
My code to connect is below
vb.net - 从 WinSCP .NET 程序集连接获取 SSH 主机密钥
我正在使用 WinSCP .NET 程序集构建基于 SFTP 的应用程序。
我似乎缺少的一个“关键”事情是,除非用户能够提供,否则应用程序似乎无法使用 SSH 密钥验证它连接到的主机。
我们知道这通常不是这种情况,我想仍然使用 SSH 密钥,而不需要用户使用 3rd 方程序来获取它。
在建立连接之前,您需要设置:
或者
如果您不知道密钥是什么但您别无选择执行后者,我假设您可以通过在建立连接后调用它来获取 SSH 主机密钥的属性:
但这会返回一个空结果。
我查看了 .NET 连接器的文档,似乎没有办法检索您连接到的服务器的 SSH 密钥。
似乎还有一些其他库似乎具有此功能,但我发现的那些是商业许可的。我想即使是具有这种能力的常规 SSH 连接器(无 ftp)也可以工作 - 只是为了获取 SSH 密钥 - 如果我能找到一个。
所以我的问题是
如何使用 WinSCP .NET 程序集从连接的服务器检索未知的 SSH 密钥?
或者
是否有另一个免费可用的库可以让我检索所述 SSH 密钥?
c# - WinSCP:在上传/下载文件时查看进度
我使用 WinSCP .NET 库通过PutFiles(..)
和.NET 从 SFTP 服务器上传/下载文件GetFiles(..)
。
有没有办法在上传/下载此服务器的文件时查看进度?例如,要获取已下载的文件大小的百分比。
谢谢,迈克尔
powershell - Moving (not copying) remote files after download with WinSCP .NET assembly
I have this script that downloads all .txt and .log files. But I need to move them to another directory on the server after the download.
So far I just keep getting errors like "cannot move "file" to "/file".
linux - 使用 VB.NET 将文档加载/保存到 SFTP Linux 服务器
所以我正在使用 Visual Studio 2013(社区)
到目前为止,我已经构建了一个可以使用文本框等创建文件的程序。
它保存到 XML,并希望从 XML 中读取(即使我被拒绝访问)
应用程序与服务器对话的时候到了,所有文件都将被保存和读取。
该服务器是 Linux 服务器版(最新),并且运行良好。我希望我的应用程序连接到它,登录,然后列出并从服务器读取文件。
到目前为止,它做了一点。
这就像一个魅力,它继续前进。
Form1
加载后,它会向我显示服务器文件夹中的正确文件..
当我将文件保存到它时
所有这一切都按预期工作。
我想提一下,问题中的文件夹,或服务器上的“共享”,是受密码保护的,并且用户名和密码被插入到登录代码中(临时)
当我双击文件(激活)以阅读它时,我的问题就出现了。
这到底是怎么回事?我假设因为它可以列出该文件夹的内容,并且为了测试,我给了每个人对该文件夹的完全访问权限(用户、组、其他)Linux 上的完全访问权限(0777)
我这样说是为了测试它是否有帮助。
这可能超出您的专业知识,因为它涉及库 WinSCP,实际上是一个 Linux 服务器。
作为唯一拒绝它的“读取 XML”功能,我必须非常接近?
我看到很多人建议其他第三方库,对我来说最好的,如果可能的话,将是纯 VB.NET 的解决方案。
vb.net - 使用在一个方法中从另一个方法创建的类实例
我已经在这里摸索了几天WinSCP,我所缺少的只是正确地“打开会话”。
这里Session
是初始化的。
在下面的表格中我需要Session
再次使用,这里我使用了
这在这里有效。此时似乎根据需要打开了会话。但是我的问题出现在我需要在同一个表单中多次打开会话的地方,因为它本身不会保持打开状态,如果可能的话。
我需要在应用程序中做的任何其他事情都无法打开会话,因为我不能有几个“公共子打开”。如果这里有任何 WinSCP 人员,我可以让会话保持活动状态直到应用程序关闭吗?在同一个表单上多次“打开会话”的任何聪明方法?
我觉得很难解释。
示例:
我有一个自动收报机/计时器,它刷新位于 Form 1 (
Objectlist1) 上的列表,它每 5 秒计时一次。
这是使用的代码:
问题是,当它滴答作响时,我得到会话未打开,System.InvalidOperationException
基本上是..会话未打开..现在,由于它在表单中进一步打开,我显然需要再次打开它?或者我可以更改其中的某些
Public Sub Open(ByVal sessionOptions As SessionOptions)
内容以使其能够在整个表单中保持活力,或者?
这里有什么建议吗?