You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# WinSCP .NET中设置文件名修改的替换选项?

WinSCP .NET 中“文件名替换”选项的设置方法

GUI里“传输设置”→“文件名修改”组的“替换”复选框,对应WinSCP .NET类库的TransferOptions.FileNameReplacements属性,具体设置步骤如下:

  • 实例化TransferOptions对象后,设置transferOptions.FileNameReplacements.Enabled = true,这一步对应勾选GUI里的“替换”复选框。
  • 通过FileNameReplacements.Add()方法添加具体的字符替换规则,支持添加多组替换逻辑。

完整C#代码示例

// 初始化会话配置
SessionOptions sessionOptions = new SessionOptions
{
    Protocol = Protocol.Sftp,
    HostName = "你的服务器地址",
    UserName = "用户名",
    Password = "密码",
    SshHostKeyFingerprint = "服务器SSH指纹"
};

using (Session session = new Session())
{
    session.Open(sessionOptions);

    // 初始化传输选项
    TransferOptions transferOptions = new TransferOptions();
    // 启用文件名替换功能(对应GUI的“替换”复选框)
    transferOptions.FileNameReplacements.Enabled = true;
    // 添加替换规则:将空格替换为下划线
    transferOptions.FileNameReplacements.Add(' ', '_');
    // 可添加多组规则,比如替换冒号为短横线
    transferOptions.FileNameReplacements.Add(':', '-');

    // 执行本地文件上传
    TransferOperationResult transferResult = session.PutFiles(@"C:\本地文件路径\test file.txt", "/远程目录/", false, transferOptions);

    // 校验传输结果
    transferResult.Check();
}

如果需要正则匹配替换,可使用FileNameReplacements.AddRegex()方法,示例:

// 用正则将文件名中所有非字母数字、点的字符替换为下划线
transferOptions.FileNameReplacements.AddRegex(@"[^\w\.]+", "_");

内容的提问来源于stack exchange,提问作者m_collard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:52:06