2013-12-09 80 views
1

我可以從PC上的本地ftp服務器(包含子目錄)下載文件。Perl Net :: FTP下載到特定目錄

$f->get($file2); 

這些文件被下載到工作目錄C:/ wd我開始perl腳本。我想將文件下載到另一個目錄中,例如C:/ wd/sub或C:/ another。我感謝任何幫助。

回答

6

如果你看一下Net::FTP文檔頁面,你會看到得到()接受確定該文件將保存位置的第二個參數。

所以,你只是做$f->get($file2,'C:/another/filename');

+0

感謝幫助。此外,我讀了文檔,但我認爲它要求文件名,如果名稱應該是文件的更改(「LOCAL_FILE可能是文件名或文件句柄」)。到目前爲止,我還沒有想過要添加路徑。 – giordano

1

正如你正確狀態,文件下載到您當前的工作目錄,你所以才CHDIR()()之前。我的意思是在本地,並且與Net :: FTP無關。例如。

chdir "/tmp"; 
$f->get(...); 
0

這對我有效。 Net :: FTP獲取接受文件句柄LOCAL_FILE。

use Path::Tiny; #for path 
my $local_file = path($out_dir, $file); 
open my $local_fh, ">", $local_file or die "Can't write to $local_file:$!"; 
$ftp->get($file, $local_fh);