我有一个脚本,从FTP服务器下载一些录音,下载保存在我的计算机上的本地路径内的文件夹中。
我可以在所有录制成功下载后触发一条消息,但我希望每次下载每个FTP录制时都显示一条消息。如何才能做到这一点?
这是一个脚本:
Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Ftp
HostName = "ip of ftp"
PortNumber = port number
UserName = "user"
Password = "credentials"
}
$session = New-Object WinSCP.Session
try
{
$session.Open($sessionOptions)
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult =
$session.GetFiles($remotePath, $localPath, $False, $transferOptions)
$transferResult.Check()
foreach ($transfer in $transferResult.Transfers)
{
Write-Host ("Download of {0} succeeded" -f $transfer.FileName)
}
}
finally
{
$session.Dispose()
}
我一直在寻找方法,但我找不到答案。
1条答案
按热度按时间gab6jxml1#
如果你只想在文件完成传输时显示文件名,可以使用
Session.FileTransferred
event:如果您想显示单个文件传输的进度,可以使用
Session.FileTransferProgress
。