읽을 수없는 모든 파일 및 폴더를 건너 뛰고 PowerShell에서 WinSCP를 사용하여 전체 드라이브를 서버에 업로드

user3420561

예를 들어 D : PowerShell 및 .NET을 사용하여 Windows 상자에서 Linux 상자로 드라이브 파일 전체를 복사하려고합니다 WinSCPnet.dll. 특정 폴더를 복사하려고하면 해당 폴더의 모든 파일을 Linux 경로로 복사 할 수 있습니다. 그러나 전체 D : 드라이브를 Linux 상자 폴더에 복사하려고하면 다음 오류가 발생합니다.

"d : \ $ RECYCLE.BIN \ S-1-5-21-1458064458-1966517317-3155185246-1003 *. *"에 대한 파일 목록을 검색하는 동안 오류가 발생했습니다. 시스템 오류. 코드 : 5.

$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult = $session.PutFiles("d:\*", "/tmp/some/", $False, $transferOptions)
# Throw on any error
$transferResult.Check()

예상 결과는 전체 D 드라이브를 대상 Linux 상자 폴더에 복사해야하지만 위에서 언급 한 오류가 발생합니다.

마틴 프리 크릴

WinSCP .NET 어셈블리가 Session.QueryReceived이벤트 를 처리하여 열 수없는 모든 파일과 폴더를 건너 뛰도록 할 수 있습니다 .

# Continue on any error
$session.add_QueryReceived( { 
    Write-Host "Error: $($_.Message)"
    $_.Continue()
} )

$session.PutFiles("d:\*", "/tmp/some/").Check()

사용자 지정 오류 처리를 사용하여 디렉터리 트리를 재귀 적으로 다운로드 하는 문서를 기반으로하는 코드입니다 .


또 다른 옵션은를 사용하여 전송에서 문제가있는 파일 및 폴더를 명시 적으로 제외하는 것 TransferOptions.FileMask입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관