.net 在PowerShell中使用WinSCP将整个驱动器上载到服务器,跳过所有无法读取的文件和文件夹
我正在尝试使用PowerShell和.net 在PowerShell中使用WinSCP将整个驱动器上载到服务器,跳过所有无法读取的文件和文件夹,.net,powershell,sftp,winscp,winscp-net,.net,Powershell,Sftp,Winscp,Winscp Net,我正在尝试使用PowerShell和WinSCPnet.dll将整个驱动器(例如D:drive文件)从Windows机箱复制到Linux机箱。当我尝试复制特定文件夹时,我能够将该文件夹中的所有文件复制到Linux路径。但是,当我试图将整个D:drive复制到一个Linux-box文件夹时,我得到了以下错误 检索“d:\$RECYCLE.BIN\S-1-5-21-1458064458-1966517317-3155185246-1003*”的文件列表时出错。 系统错误。代码:5 $transfer
WinSCPnet.dll
将整个驱动器(例如D:drive文件)从Windows机箱复制到Linux机箱。当我尝试复制特定文件夹时,我能够将该文件夹中的所有文件复制到Linux路径。但是,当我试图将整个D:drive复制到一个Linux-box文件夹时,我得到了以下错误
检索“d:\$RECYCLE.BIN\S-1-5-21-1458064458-1966517317-3155185246-1003*”的文件列表时出错。
系统错误。代码:5
$transferOptions=新对象WinSCP.transferOptions
$transferOptions.TransferMode=[WinSCP.TransferMode]::二进制
$transferResult=$session.PutFiles(“d:\*”、“/tmp/some/”、$False、$transferOptions)
#有什么差错吗
$transferResult.Check()
预期的结果应该是,它应该将整个D驱动器复制到目标Linux box文件夹,但上面提到的错误即将出现。您可以使WinSCP.NET程序集跳过所有无法通过处理打开的文件和文件夹: 基于文章的代码
另一个选项是使用显式从传输中排除有问题的文件和文件夹。您可以使WinSCP.NET程序集跳过所有无法通过处理打开的文件和文件夹: 基于文章的代码
另一个选项是使用从传输中显式排除有问题的文件和文件夹
# Continue on any error
$session.add_QueryReceived( {
Write-Host "Error: $($_.Message)"
$_.Continue()
} )
$session.PutFiles("d:\*", "/tmp/some/").Check()