Удалить файлы с FTP после передачи Powershell WinSCP

Ранее я использовал сценарии .bat для этого процесса и относительно новичок в написании сценариев PowerShell. Я выполняю передачу с FTP-сервера, и мне нужно удалить каждый файл с FTP-сервера после передачи. Каков правильный синтаксис для этого? Код выглядит следующим образом: -

$a=Get-Date -format MMMM
try
{
    # Load WinSCP .NET assembly
    Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"

    # Setup session options
    $sessionOptions = New-Object WinSCP.SessionOptions -Property @{
        Protocol = [WinSCP.Protocol]::Sftp
        HostName = "xxx.xxx.xxx.xxx"
        UserName = "joe"
        Password = "joebloggs"
        SshHostKeyFingerprint = "ssh-rsa 1024 01:07:da:11:22:33:44:55:66"
        FtpMode = [WinSCP.FtpMode]::Active
    }

    $session = New-Object WinSCP.Session

    try
    {
        # Connect
        $session.Open($sessionOptions)

        # Download files
        $transferOptions = New-Object WinSCP.TransferOptions
        $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary

        $transferResult = $session.GetFiles("/*", "C:\Users\User\Dropbox\Rockar\Data\System Data\Raw Feeds\Stock\"+$a+"\", $False, $transferOptions)

        # Throw on any error
        $transferResult.Check()

        # Print results
        foreach ($transfer in $transferResult.Transfers)
        {
            Write-Host ("Download of {0} succeeded" -f $transfer.FileName)
        }
    }
    finally
    {
        # Disconnect, clean up
        $session.Dispose()
    }

person Monty    schedule 19.05.2016    source источник


Ответы (2)


Обнаружил ответ, немного почитав на сайте WinSCP о параметрах getfiles winscp.net/eng/docs /library_session_getfiles#parameters для параметра удаления просто нужно установить значение $true из $false

person Monty    schedule 19.05.2016

Вы должны вызвать $session.RemoveFiles, вот описание метода: https://winscp.net/eng/docs/library_session_removefiles

person Andrey Marchuk    schedule 19.05.2016