Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在PowerShell中使用WinSCP将整个驱动器上载到服务器,跳过所有无法读取的文件和文件夹_.net_Powershell_Sftp_Winscp_Winscp Net - Fatal编程技术网

.net 在PowerShell中使用WinSCP将整个驱动器上载到服务器,跳过所有无法读取的文件和文件夹

.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

我正在尝试使用PowerShell和
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()