powershell session.FileExists($remotePath) foreach

Advertisement

unimog
Guest

powershell session.FileExists($remotePath) foreach

So I've tested the generic code of $session.FileExists($remotePath) which works great but as soon as I put the statement within a foreach loop it keeps telling me file doesn't exists. Anyone have experience or a solution to the problem I'm having?

try
{
    # Load WinSCP .NET assembly
    Add-Type -Path "C:\winscp\WinSCPnet.dll"
 
    # Setup session options
    $sessionOptions = New-Object WinSCP.SessionOptions
    $sessionOptions.Protocol = [WinSCP.Protocol]::Sftp
    $sessionOptions.HostName = "server01"
    $sessionOptions.UserName = "user"
    $sessionOptions.Password = "user1"
    $sessionOptions.SshHostKeyFingerprint = "ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"

 
    $session = New-Object WinSCP.Session
 
    try
    {
        # Connect
        $session.Open($sessionOptions)
        $programFileNameList = Get-Content D:\program\programFileName.lst

        #Program List Error Check
        foreach( $programFileName in $programFileNameList ) 
        {
            
            Write-Host ("name: $programFileName")
            $remotePath = "/home/user/utility/Program/$programFileName"
            #$remotePath = "/home/user/utility/Program/program2.csv"
            Write-Host ("searching: $remotePath")
            if($session.FileExists($remotePath))
            {
                Write-Host ("File {0} exists" -f $remotePath)
            }

            else
            {
                Write-Host ("File {0} does not exist" -f $remotePath)
            }
        }
        

              
    }
    finally
    {
        # Disconnect, clean up
        $session.Dispose()
    }
 
    exit 0
}
catch [Exception]
{
    Write-Host $_.Exception.Message
    exit 1
}

Reply with quote

Advertisement

You can post new topics in this forum