首页 › 脚本自动化 - WinSCP 命令行与 .NET 程序集

脚本自动化 - WinSCP 命令行与 .NET 程序集

功能专题 · 场景:定时备份、CI/CD、批量操作

WinSCP 不只是 GUI:WinSCP.com 命令行脚本与 WinSCPnet.dll .NET 程序集让它能嵌入任何自动化流程。

命令行脚本入门

# backup.txt:每天把服务器拉回本地 open sftp://backup-user@10.0.0.8/ -privatekey=mykey.ppk lcd D:\backups synchronize local -criteria=time /var/www D:\backups\www call tar -czf /tmp/db.tgz /var/lib/mysql get /tmp/db.tgz D:\backups\db\ rm /tmp/db.tgz exit
# 计划任务执行(带日志) WinSCP.com /ini=nul /script=backup.txt /log=backup-%YYYY-%MM-%DD.log

常用脚本命令

命令作用
open建立会话,支持 URL 写法与密钥参数
get / put下载 / 上传,支持通配符与 -resume 断点
synchronize目录同步(见同步页)
call / ls / rm / mv远程命令与文件操作
keepuptodate脚本版「保持远程目录最新」

.NET 程序集(PowerShell / C#)

# PowerShell 示例 Add-Type -Path "WinSCPnet.dll" $o = New-Object WinSCP.SessionOptions $o.Protocol = [WinSCP.Protocol]::SFTP $o.HostName = "example.com"; $o.UserName = "user" $o.SshHostKeyFingerprint = "ssh-ed25519 255 SHA256:xxxx" $s = New-Object WinSCP.Session $s.Open($o) $s.PutFiles("D:\site\*", "/var/www/html/").Check()

严格指纹校验(SshHostKeyFingerprint)是脚本安全的关键,务必填写而非跳过。

进阶场景

自动化从装好开始v6.7 免费获取 · 含 .NET 程序集与脚本接口
夸克网盘高速下载