Topic "Error trying to download file"

Author Message
samc

Guest


I receive an error while trying to download a file. I have no logs and I don't know how to log. If someone could show me how to log, then I will provide that.

Error:
Code:
Exception calling "Check" with "0" argument(s): "Can't get attributes of file
'LYLI_20140708_180540.TXT'."
At line:11 char:4
+    $session.GetFiles($Fileinfo, $LocalPath).Check()
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : SessionRemoteException


My code:

Code:
# Load WinSCP .NET assembly
Add-Type -Path "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"
 
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions
$sessionOptions.Protocol = [WinSCP.Protocol]::ftp
$sessionOptions.HostName = "server"
$sessionOptions.UserName = "user"
$sessionOptions.Password = "pass"
$session = New-Object WinSCP.Session
 
$session.Open($sessionOptions)
$RemotePath = "/EXPORT/LYKA_$($date)_*/"
$LocalPath = "C:\Users\samc\Desktop\FTP\$Fileinfo"


$date = Get-Date -Year 2014 -Month 07 -Day 08 -Format yyyyMMdd
$wildcard = "LYLI*.txt"

$directoryInfo = $session.ListDirectory("/EXPORT/")

$files = $directoryInfo.Files | ?{$_.name -match "LYLI_$date"}

foreach ($Fileinfo in $files) {
   
   $session.GetFiles($Fileinfo, $LocalPath).Check()
   Write-Host ($fileinfo.Name)
}
Advertisements
samc

Guest


LOG for doing it with GUI. There are a lot more files. Didnt want to clog up the forum.

. 2014-07-11 14:16:24.527 --------------------------------------------------------------------------
. 2014-07-11 14:16:24.527 WinSCP Version 5.5.4 (Build 4433) (OS 6.1.7601 Service Pack 1 - Windows 7 Professional)
. 2014-07-11 14:16:24.527 Configuration: HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2\
. 2014-07-11 14:16:24.527 Local account: PRIMROSE\samc
. 2014-07-11 14:16:24.527 Working directory: C:\Program Files (x86)\WinSCP
. 2014-07-11 14:16:24.527 Process ID: 3376
. 2014-07-11 14:16:24.527 Command-line: "C:\Program Files (x86)\WinSCP\WinSCP.exe"
. 2014-07-11 14:16:24.527 Time zone: Current: GMT+1, Standard: GMT+0 (GMT Standard Time), DST: GMT+1 (GMT Daylight Time), DST Start: 30/03/2014, DST End: 26/10/2014
. 2014-07-11 14:16:24.528 Login time: 11 July 2014 14:16:24
. 2014-07-11 14:16:24.528 --------------------------------------------------------------------------
. 2014-07-11 14:16:24.528 Session name: FTP (Site)
. 2014-07-11 14:16:24.528 Host name: 79.171.178.50 (Port: 21)
. 2014-07-11 14:16:24.528 User name: PRIMROSE (Password: No, Key file: No)
. 2014-07-11 14:16:24.528 Tunnel: No
. 2014-07-11 14:16:24.528 Transfer Protocol: FTP
. 2014-07-11 14:16:24.528 Ping type: C, Ping interval: 30 sec; Timeout: 15 sec
. 2014-07-11 14:16:24.528 Proxy: none
. 2014-07-11 14:16:24.528 Send buffer: 262144
. 2014-07-11 14:16:24.528 UTF: 2
. 2014-07-11 14:16:24.528 FTP: FTPS: None; Passive: Yes [Force IP: A]; MLSD: A [List all: A]
. 2014-07-11 14:16:24.528 Local directory: C:\Program Files (x86)\WinSCP, Remote directory: /, Update: Yes, Cache: Yes
. 2014-07-11 14:16:24.528 Cache directory changes: Yes, Permanent: Yes
. 2014-07-11 14:16:24.528 DST mode: 1; Timezone offset: 0h 0m
. 2014-07-11 14:16:24.528 --------------------------------------------------------------------------
. 2014-07-11 14:16:24.588 Connecting to ********* ...
. 2014-07-11 14:16:24.690 Connected with *********. Waiting for welcome message...
< 2014-07-11 14:16:24.717 220 edi FTP server (IS FTP-Service, version 5.7.31) ready.
> 2014-07-11 14:16:24.717 USER PRIMROSE
< 2014-07-11 14:16:24.753 331 Password required for PRIMROSE (f78f875b735e37c7).
> 2014-07-11 14:16:35.598 PASS ************
< 2014-07-11 14:16:35.740 230 User PRIMROSE logged in.
> 2014-07-11 14:16:35.740 SYST
< 2014-07-11 14:16:35.950 215 UNIX Type: L8 Version: IS 5.7.31
> 2014-07-11 14:16:35.950 FEAT
< 2014-07-11 14:16:36.248 211-Extensions supported:
< 2014-07-11 14:16:36.248 CLNT
< 2014-07-11 14:16:36.248 AUTH TLS
< 2014-07-11 14:16:36.248 PBSZ
< 2014-07-11 14:16:36.248 PROT
< 2014-07-11 14:16:36.248 MDTM
< 2014-07-11 14:16:36.248 MFMT
< 2014-07-11 14:16:36.248 PASV
< 2014-07-11 14:16:36.248 REST STREAM
< 2014-07-11 14:16:36.249 SIZE
< 2014-07-11 14:16:36.249 XCRC "Filename" SP EP
< 2014-07-11 14:16:36.249 XMD5 "Filename" SP EP
< 2014-07-11 14:16:36.249 XSH1 "Filename" SP EP
< 2014-07-11 14:16:36.249 211 End.
. 2014-07-11 14:16:36.299 Connected
. 2014-07-11 14:16:36.299 --------------------------------------------------------------------------
. 2014-07-11 14:16:36.299 Using FTP protocol.
. 2014-07-11 14:16:36.299 Doing startup conversation with host.
> 2014-07-11 14:16:36.350 PWD
< 2014-07-11 14:16:36.721 257 "/" is current directory.
. 2014-07-11 14:16:36.751 Changing directory to "/".
> 2014-07-11 14:16:36.751 CWD /
< 2014-07-11 14:16:37.173 250 CWD command successful.
. 2014-07-11 14:16:37.173 Getting current directory name.
> 2014-07-11 14:16:37.173 PWD
< 2014-07-11 14:16:37.517 257 "/" is current directory.
. 2014-07-11 14:16:37.702 Retrieving directory listing...
> 2014-07-11 14:16:37.702 TYPE A
< 2014-07-11 14:16:38.001 200 Type set to A.
> 2014-07-11 14:16:38.002 PASV
< 2014-07-11 14:16:38.470 227 Entering Passive Mode (79,171,178,50,224,246)
> 2014-07-11 14:16:38.470 LIST -a
< 2014-07-11 14:16:38.914 150 ASCII data connection for / (212.58.48.107,57590).
. 2014-07-11 14:16:38.914 drw-rw-rw- 3 generic 4096 Jul 11 15:15 IMPORT
. 2014-07-11 14:16:38.914 drw-rw-rw- 3 generic 49152 Jul 11 15:06 EXPORT
< 2014-07-11 14:16:39.151 226 ASCII transfer complete.
. 2014-07-11 14:16:39.153 Directory listing successful
. 2014-07-11 14:16:39.153 ..;D;0;1899-12-30T00:00:00.000Z;"" [0];"" [0];---------;0
. 2014-07-11 14:16:39.153 IMPORT;D;4096;2014-07-11T14:15:00.000Z;"generic" [0];"" [0];rw-rw-rw-;1
. 2014-07-11 14:16:39.153 EXPORT;D;49152;2014-07-11T14:06:00.000Z;"generic" [0];"" [0];rw-rw-rw-;1
. 2014-07-11 14:16:39.253 Startup conversation with host finished.
. 2014-07-11 14:17:03.085 Changing directory to "IMPORT".
> 2014-07-11 14:17:03.085 CWD IMPORT
< 2014-07-11 14:17:03.117 250 CWD command successful.
. 2014-07-11 14:17:03.117 Getting current directory name.
> 2014-07-11 14:17:03.117 PWD
< 2014-07-11 14:17:03.148 257 "/IMPORT" is current directory.
. 2014-07-11 14:17:03.148 Retrieving directory listing...
> 2014-07-11 14:17:03.148 TYPE A
< 2014-07-11 14:17:03.179 200 Type set to A.
> 2014-07-11 14:17:03.180 PASV
< 2014-07-11 14:17:03.234 227 Entering Passive Mode (79,171,178,50,146,163)
> 2014-07-11 14:17:03.234 LIST -a
. 2014-07-11 14:17:03.293 <Empty directory listing>
< 2014-07-11 14:17:03.295 150 ASCII data connection for /IMPORT (212.58.48.107,37539).
< 2014-07-11 14:17:03.525 226 ASCII transfer complete.
. 2014-07-11 14:17:03.525 Directory listing successful
. 2014-07-11 14:17:03.525 ..;D;0;1899-12-30T00:00:00.000Z;"" [0];"" [0];---------;0
. 2014-07-11 14:17:06.009 Cached directory change via ".." to "/".
. 2014-07-11 14:17:06.009 Getting current directory name.
. 2014-07-11 14:17:06.011 Directory content loaded from cache.
. 2014-07-11 14:17:06.733 Changing directory to "EXPORT".
. 2014-07-11 14:17:06.733 Synchronizing current directory "/".
> 2014-07-11 14:17:06.733 CWD /
< 2014-07-11 14:17:06.764 250 CWD command successful.
> 2014-07-11 14:17:06.765 CWD EXPORT
< 2014-07-11 14:17:06.796 250 CWD command successful.
. 2014-07-11 14:17:06.796 Getting current directory name.
> 2014-07-11 14:17:06.796 PWD
< 2014-07-11 14:17:06.827 257 "/EXPORT" is current directory.
. 2014-07-11 14:17:06.827 Retrieving directory listing...
> 2014-07-11 14:17:06.827 TYPE A
< 2014-07-11 14:17:06.859 200 Type set to A.
> 2014-07-11 14:17:06.859 PASV
< 2014-07-11 14:17:06.911 227 Entering Passive Mode (79,171,178,50,189,221)
> 2014-07-11 14:17:06.911 LIST -a
< 2014-07-11 14:17:06.991 150 ASCII data connection for /EXPORT (212.58.48.107,48605).
< 2014-07-11 14:17:07.389 226 ASCII transfer complete.
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 47 Apr 08 11:06 LYBU_20140408_110539.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 15722 Jun 12 17:06 LYPA_20140612_170537.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 660 Apr 08 11:06 LYPA_20140408_110549.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 68955 Apr 30 09:05 LYPA_20140430_090501.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 110398 Apr 29 09:06 LYPA_20140429_090520.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 5519 May 19 09:06 LYPA_20140519_090553.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 40493 May 26 13:06 LYPA_20140526_130520.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 3224 Apr 14 17:05 LYPA_20140414_170501.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 11410 Jun 19 06:01 LYBV_20140619_060036.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 5318 May 01 12:06 LYPA_20140501_120559.TXT
. 2014-07-11 14:30:07.446 -rw-rw-rw- 1 generic 70340 May 08 09:06 LYPA_20140508_090551.TXT
. 2014-07-11 14:30:07.446 Directory listing successful
> 2014-07-11 14:30:37.757 TYPE A
< 2014-07-11 14:30:37.757 200 Type set to A.
. 2014-07-11 14:30:59.113 File: '/EXPORT/LYLI_20140708_180540.TXT' [2014-07-08T17:06:00.000Z] [620]
. 2014-07-11 14:30:59.129 Copying "/EXPORT/LYLI_20140708_180540.TXT" to local directory started.
. 2014-07-11 14:30:59.129 Binary transfer mode selected.
. 2014-07-11 14:30:59.129 Starting download of /EXPORT/LYLI_20140708_180540.TXT
> 2014-07-11 14:30:59.129 TYPE I
< 2014-07-11 14:30:59.176 200 Type set to I.
> 2014-07-11 14:30:59.176 PASV
< 2014-07-11 14:30:59.223 227 Entering Passive Mode (79,171,178,50,230,12)
> 2014-07-11 14:30:59.223 RETR LYLI_20140708_180540.TXT
< 2014-07-11 14:30:59.316 150 Binary data connection for /EXPORT/LYLI_20140708_180540.TXT (212.58.48.107,58892) (620 bytes).
< 2014-07-11 14:30:59.550 226 Binary transfer complete.
. 2014-07-11 14:30:59.566 Download successful
Guest




This is resolved. I used a different method.

$session.Open($sessionOptions)

$directoryInfo = $session.ListDirectory("/EXPORT/")
$date = Get-Date -Format yyyyMMdd
$Files = $directoryInfo.Files | ?{$_.name -match "LYLI_$date"} | select -ExpandProperty name
$RemotePath = "/EXPORT/$Files"
$LocalPath = "C:\Users\samc\Desktop\FTP\$Files"

Try{
if ($session.FileExists($RemotePath)) {

Write-Host ("File {0} exists" -f $RemotePath)
$session.GetFiles($RemotePath, $LocalPath).Check()
}

else { Write-Host "File not availiable" }
}

catch [Exception]{
Write-Host $_.Exception.Message
}
martin
[View user's profile]
Site Admin
Joined: 2002-12-10
Posts: 24553
Location: Prague, Czechia
Code:
$directoryInfo = $session.ListDirectory("/EXPORT/")

$files = $directoryInfo.Files | ?{$_.name -match "LYLI_$date"}

foreach ($Fileinfo in $files) {
   
   $session.GetFiles($Fileinfo, $LocalPath).Check()
   Write-Host ($fileinfo.Name)
}

In your code above, the $Fileinfo is an object of type RemoteFileInfo, while Session.GetFiles expects a string. PowerShell implicitly converts the object to a script by calling .ToString() method that is implemented by RemoteFileInfo to return Name. But Name is file name only, without a path. That's why .GetFiles fails, because it's not able to find the file without knowing its path.
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