Deleting remote files from changing FTP folder
I'm looking to automate the deletion of a thumbs.db file in a remote WINSCP FTP folder. The problem is, the folder name will change weekly when it is uploaded. I can get the file deleted if I have the exact folder name, but the automation doesn't want to take a wildcard for the folder name. Is there any way around this?
Below is my current script:
$remoteServer = "<<serverName>>"
$username = "<<ftpusername>>"
$password = "<<ftppassword>>"
$ftpProtocol = "<<ftpProtocol>>"
$ftpFingerPrint = "<<ftpFingerPrint>>"
$ftpPort = "<<ftpPort>>"#Set to 21(22 SFTP), default most of the time.
Write-Host "Starting script"
Write-Host "remoteServer: $remoteServer"
Write-Host "username: $username"
Write-Host "password: $password"
Write-Host "ftpProtocol: $ftpProtocol"
Write-Host "ftpFingerPrint: $ftpFingerPrint"
Write-Host "ftpPort: $ftpPort"
Write-Host "remotepath: $remotepath"
write-host "remotefile: $remotefilepatt"
# Load WinSCP .NET assembly
Add-Type -Path (Join-Path "C:\Scripts" "WinSCPnet.dll")
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::$ftpProtocol
$sessionOptions.HostName = $remoteServer
$sessionOptions.UserName = $username
$sessionOptions.Password = $password
$sessionOptions.PortNumber = $ftpPort
$sessionOptions.TlsHostCertificateFingerprint = $ftpFingerPrint
$sessionOptions.FtpSecure = "Implicit"
$session = New-Object WinSCP.Session
Write-Host "Past obj build"
# Connect
$session.Open($sessionOptions)
Write-Host "Session opened"
#Delete remote files
$files = "<<deleteRemotePath>><<deleteRemoteFilePattern>>"
$session.RemoveFiles($files)
# Disconnect, clean up
$session.Dispose()
exit 0
Below is my current script:
$remoteServer = "<<serverName>>"
$username = "<<ftpusername>>"
$password = "<<ftppassword>>"
$ftpProtocol = "<<ftpProtocol>>"
$ftpFingerPrint = "<<ftpFingerPrint>>"
$ftpPort = "<<ftpPort>>"#Set to 21(22 SFTP), default most of the time.
Write-Host "Starting script"
Write-Host "remoteServer: $remoteServer"
Write-Host "username: $username"
Write-Host "password: $password"
Write-Host "ftpProtocol: $ftpProtocol"
Write-Host "ftpFingerPrint: $ftpFingerPrint"
Write-Host "ftpPort: $ftpPort"
Write-Host "remotepath: $remotepath"
write-host "remotefile: $remotefilepatt"
# Load WinSCP .NET assembly
Add-Type -Path (Join-Path "C:\Scripts" "WinSCPnet.dll")
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::$ftpProtocol
$sessionOptions.HostName = $remoteServer
$sessionOptions.UserName = $username
$sessionOptions.Password = $password
$sessionOptions.PortNumber = $ftpPort
$sessionOptions.TlsHostCertificateFingerprint = $ftpFingerPrint
$sessionOptions.FtpSecure = "Implicit"
$session = New-Object WinSCP.Session
Write-Host "Past obj build"
# Connect
$session.Open($sessionOptions)
Write-Host "Session opened"
#Delete remote files
$files = "<<deleteRemotePath>><<deleteRemoteFilePattern>>"
$session.RemoveFiles($files)
# Disconnect, clean up
$session.Dispose()
exit 0