Topic "Can't get attributes of file error during FTP download"

Author Message
Guest




I have a powershell script that I am useing and I cannot download a file. I recieve the error "Can't get attributes of file..." and inside my log file it says:

Code:
      <message>Can't get attributes of file '/ /download/100_MBytes.txt'.</message>
      <message>Could not retrieve file information</message>
      <message>SIZE: Not owner</message


But I am able to download the file using the GUI. What could cause this? I am using the path "/download/<filename>" but when I go into the GUI the root folder is just "/", could this be the cause of it? My other servers have the path "/home/...". I have attached my powershell script and my log file. Note: I have removed all of the login information due to it being confidential.

Code:
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"
 
# Session.FileTransferProgress event handler
 
function FileTransferProgress
{
    param($e)
 
    # New line for every new file
    if (($script:lastFileName -ne $Null) -and
        ($script:lastFileName -ne $e.FileName))
    {
        Write-Host
    }
 
    # Print transfer progress
    Write-Host -NoNewline ("`r{0} ({1:P0})" -f $e.FileName, $e.FileProgress)
 
    # Remember a name of the last file reported
    $script:lastFileName = $e.FileName
}
 
# Main script
 
$script:lastFileName = $Null
 
try
{
   Write-Host "Please wait while startup procedures run"
    $sessionOptions = New-Object WinSCP.SessionOptions
    $sessionOptions.Protocol = [WinSCP.Protocol]::ftp
   $sessionOptions.HostName = "xxx"
    $sessionOptions.UserName = "xxxx"
    $sessionOptions.Password = "xxxx"
   $sessionOptions.FtpMode = [WinSCP.FtpMode]::passive
   $sessionOptions.AddRawSettings("SendBuf","4096");   
   #$sessionOptions.AddRawSettings("Compression","1");
   #$sessionOptions.AddRawSettings("Cipher","blowfish,aes,3des,WARN,arcfour,des");
   #$sessionOptions.AddRawSettings("Cipher","blowfish");
   #$sessionOptions.AddRawSettings("Compression","1");

    #$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
    {
      
        # Will continuously report progress of transfer
        $session.add_FileTransferProgress( { FileTransferProgress($_) } )
 
        # Connect
        $session.Open($sessionOptions)
      $session.DebugLogPath = "WinSCP.log"
      $remotePath = "/download/100_MBytes.txt"
        $localPath = "C:\download\100_MBytes.txt"
      
      # Force binary transfer       
        $transferOptions = New-Object WinSCP.TransferOptions
        $transferOptions.TransferMode = [WinSCP.TransferMode]::Ascii
      
      Write-Host "Starting download"
        $start = Get-Date  # Get start time
      
      #$directory = $session.ListDirectory("/download")
 
        #foreach ($fileInfo in $directory.Files)
        #{
        #    Write-Host ("{0} with size {1}, permissions {2} and last modification at {3}" -f
         #       $fileInfo.Name, $fileInfo.Length, $fileInfo.FilePermissions, $fileInfo.LastWriteTime)
        #}
      
        # Download the file and throw on any error
      $session.GetFiles($remotePath, $localPath).Check()
      
      # Get end time and calculate throughput
      $duration = (Get-Date) - $start
        $size = (Get-Item $localPath).Length
      $sizeInKb = (Get-Item $localPath).Length / 1024
        $speed = $sizeInKb / $duration.TotalSeconds
      
      Write-Host
      Write-Host ("Downloaded file {0} to {1}" -f $remotePath, $localPath)
        Write-Host ("Size {0:N0} B | Time {1:hh\:mm\:ss}" -f $size, $duration)
        Write-Host ("Speed {0:N0} KB/s" -f $speed)
    }
    finally
    {
        # Terminate line after the last file (if any)
        if ($script:lastFileName -ne $Null)
        {
            Write-Host
        }
 
        # Disconnect, clean up
        $session.Dispose()
    }
 
    exit 0
}
catch [Exception]
{
    Write-Host $_.Exception.Message
    exit 1
}
WinSCP.log (16.61 KB) [Download]

Description: (none)

Advertisements
ducksauce88
[View user's profile]

Joined: 2015-04-02
Posts: 1
Not sure why it was showing as a "guest" but I am the one who submitted this.
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24991
Location: Prague, Czechia
Please attach a full session log file showing the problem (using the latest version of WinSCP).

To generate log file, set Session.SessionLogPath. Submit the log with your post as an attachment. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you can mark the attachment as private.
mrsmalltalk
[View user's profile]

Joined: 2016-01-21
Posts: 10
hi,

i'm having a similar problem. i'm downloading 2 files from ES File Explorer running on Android 5.0.2 to winscp 5.7.6 (5874) on win7. i'm downloading 2 files from the same directory. i'm using with bat files. one consistently works and the other fails. i have attached the 2 .bat files and the 2 winscp logs. the files both exist on the android and i don't think i have any typos. if necessary i can send the actual files. they are small.

john
FTPFailLogs.txt (107.91 KB) [Download]

Description: i put all logs and batch files here

martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24991
Location: Prague, Czechia
mrsmalltalk wrote:
i'm having a similar problem. i'm downloading 2 files from ES File Explorer running on Android 5.0.2 to winscp 5.7.6 (5874) on win7. i'm downloading 2 files from the same directory. i'm using with bat files. one consistently works and the other fails. i have attached the 2 .bat files and the 2 winscp logs. the files both exist on the android and i don't think i have any typos. if necessary i can send the actual files. they are small.


There's no 20160120DataFromAndroid.txt in the /66DATA99/Input/BocceLog/ directory.

Quote:
-rw-r--r-- 1 nobody nobody 1172 Jan 20 10:22 DataToAndroid.txt
-rw-r--r-- 1 nobody nobody 31 Jan 20 15:08 CurrentFilename.txt
-rw-r--r-- 1 nobody nobody 960 Jan 11 15:55 20160111DataToSmalltalk.txt
-rw-r--r-- 1 nobody nobody 472 Jan 14 12:24 20160113DataToSmalltalk.txt
-rw-r--r-- 1 nobody nobody 412 Jan 08 15:42 20160108DataToSmalltalk.txt
-rw-r--r-- 1 nobody nobody 903 Jan 18 15:18 20160118DataToSmalltalk.txt
-rw-r--r-- 1 nobody nobody 875 Jan 20 15:08 20160120DataToSmalltalk.txt


.
mrsmalltalk
[View user's profile]

Joined: 2016-01-21
Posts: 10
my mistake.

i'm generating batch files on the fly. to test i cut and pasted from another batch file which obviously had the wrong file name but correct date, so the asterisk worked based on a date hit.

again, my apologies.

john
Advertisements

You can post new topics in this forum






Search Site

What is WinSCP?

It is award-winning SFTP client, SCP client, FTPS client and FTP client integrated into one software program for file transfer to FTP server or secure SFTP server. [More]

And it's free!

Donate

About donations

$9   $19   $49   $99

About donations

Recommend

WinSCP Privacy Policy

WinSCP License