传输Powershell WinSCP后从FTP中删除文件

传输Powershell WinSCP后从FTP中删除文件,powershell,winscp,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

我以前在这个过程中使用过.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()
    }

您应该调用
$session.RemoveFiles
,方法描述如下:

您应该调用
$session.RemoveFiles
,下面是方法说明:
在WinSCP站点上进一步阅读了一点关于getfiles参数的内容后发现了答案。删除参数只需将
$false

中的
$true
设置为
,在WinSCP站点上进一步阅读了一点关于getfiles参数的内容后发现了答案。删除参数只需将其设置为
$true
$true
来自
$false