我有一个用powershell编写的脚本,它使用scp将文件从远程系统传输到本地系统。
$results = & scp -v -T "user@host:"$remote_directory" "$local_directory" 2>&1
Write-Progress -Activity "SCP file transfer" -PercentComplete 0
这似乎给予了我存储在$results中的连接信息,而不是与正在传输的文件的进度相关的信息。我在某个地方读到,在Linux上,使用script命令可以绕过省略进度的问题,但我不知道如何在Windows上实现这一点,因为我没有“script”命令。我还希望继续使用scp,而不是rsync或任何东西。
即使在迭代$结果的时候,我所寻找的信息也找不到。任何帮助都是非常感谢的。如果需要任何进一步的信息,请告诉我。
我已经尝试过多次迭代运行scp,并使用从结果中派生的许多不同变量更新-PercentComplete,我希望能够相应地更新-PercentComplete,以通知用户文件传输的进度。
1条答案
按热度按时间tkclm6bt1#
您需要将密钥转换为openssh(如果使用密钥,则需要“-credential”来传递用户名)。进度条在模块中实现。示例: