如何使用 WinSCP 监控或打印不同百分比的 SFTP 文件传输的传输状态和速度?

How to monitor or print transfer state and speed for different percentage of SFTP file transfer with WinSCP?

我正在 运行 自动化 SFTP 过程,所以我是 运行 命令

open sftp://username:passwordd@192.xxx.xxx.x/ 

# Change LOCAL directory
lcd "C:\Users\Desktop\" 

# copy an individual file 
put -nopermissions -preservetime "C:\Users\Desktop\xyz.webm" xyz.webm 

并获得输出

C:\Users\Desktop\xyz.webm | 60734 KB | 3160.3 KB/s | binary | 100% 

因此,在传输此文件时,我希望输出不同百分比的相同输出。就像想知道 20%、40%、60% 的大小、吞吐量等等...

这里我们得到了一个合并的输出,但需要分步输出。

有没有办法做到这一点或有命令来逐步获得输出?

谢谢

你最好使用 WinSCP .NET assembly,而不是简单的脚本。

程序集有 Session.FileTransferProgress event.

处理事件以监视 FileTransferProgressEventArgs.FileProgress – 当它超过您的阈值之一时,从 FileTransferProgressEventArgs.FileName.FileProgress.CPS 中读取状态。

FileTransferProgressEventArgs class