自动覆盖PowerShell FTP客户端模块中的确认

时间:2017-05-03 09:44:36

标签: powershell ftp upload

我有一个脚本将一些文件放到FTP服务器上,所以我有一个服务器列表IP($ FTPServer)和文件目录上传(\ Upload)。

使用了PSFTP模块https://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb

问题是,我上传的文件已存在于服务器上,并且每当我被问及覆盖时。我需要自动化这个东西。

  

文件名:...已存在于此位置   你想让我做什么?

我试图放-Confirm:$false,但我必须做错事。

foreach ($line in $FTPServer)
{
    foreach ($item in (Get-ChildItem .\Upload))
    {
        Start-Transcript -Path $results
        Write-Host -Object "ftp url: $line" 
        Set-FTPConnection -Credentials $FTPCredential -Server $line -Session MySession -UsePassive 
        $Session = Get-FTPConnection -Session MySession 
        Write-Host -Object "Uploading $FILE..."
        Add-FTPItem -Session $Session -Path $FTPPlace -LocalPath .\Upload\$item -Confirm:$false
        Stop-Transcript
    }
}

1 个答案:

答案 0 :(得分:0)

Add-FTPItem-Overwrite次切换,而不是-Confirm

Add-FTPItem -Session $Session -Path $FTPPlace -LocalPath .\Upload\$item -Overwrite