gpt4 book ai didi

powershell - WinSCP在PowerShell中禁用ResumeSupport

转载 作者:行者123 更新时间:2023-12-02 23:43:08 30 4
gpt4 key购买 nike

我正在使用WinSCP编写将SQL Server连接到SFTP服务器的方法。我正在尝试将文件写入SFTP服务器,而我仅具有写入权限,而不能修改。我遇到问题是因为我回来了

Cannot create remote file '/xxx.filepart'.



该文档表明这是因为我没有对目标目录的修改访问权限。我这样做是WinSCP->首选项->耐力->禁用
我检查了 winscp.ini文件,并且 ResumeSupport2(我相信这表示已禁用)。我运行了 "echo $transferOptions.ResumeSupport",它说它处于默认状态。

我已经检查了此文档:
https://winscp.net/eng/docs/ui_pref_resume
https://winscp.net/eng/docs/library_transferoptions#resumesupport

但是,我没有看到PowerShell示例,只有C#。

我尝试了 $transferOptions.ResumeSupport.State = Off$transferOptions.ResumeSupport.Off和诸如此类的各种排列。其中之一说它是只读的。

我知道 $transferOptions在这里是一个变量,但它来自默认脚本。对象确定传输选项 $transferOptions = New-Object WinSCP.TransferOptions
预先感谢您的帮助

编辑:总体问题是我仅具有对服务器的写访问权,而没有修改。我收到一个新错误:“无法覆盖远程文件'/xxx'.$$。看起来美元符号是它要创建的某种临时文件。是否有办法禁用导致此问题的任何设置?

最佳答案

在PowerShell中使用枚举的语法在
文章Using WinSCP .NET assembly from PowerShell

Enumeration values are accessed using static field syntax [Namespace.Type]::Member, for example [WinSCP.Protocol]::Sftp.



您可以在 TransferResumeSupport.Stateget命令文档的 put 部分中找到 Converting to .NET assembly的PowerShell示例:
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.ResumeSupport.State = [WinSCP.TransferResumeSupportState]::Off
$session.GetFiles(..., ..., $False, $transferOptions).Check()

WinSCP GUI can also generate a code template(包括 TransferOptionsTransferResumeSupportState代码)。

关于powershell - WinSCP在PowerShell中禁用ResumeSupport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35278404/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com