我在FTP serever中有一系列文件夹.举个例子,
@ftp_dirs=('/Tarun/Netdomais','/Tarun/Testing','/Tarun/Tested_files')
Run Code Online (Sandbox Code Playgroud)
我需要将数组中的每个文件夹从FTP服务器下载到本地文件夹(c:\ ftp_downloaded).
我写了以下几行
use strict;
use Net::FTP;
my $ftp=Net::FTP->new("hostname",Debug=>0);
$ftp->login("user_name","password");
$ftp->cwd("/Tarun");
my @ftp_dirs=('/Tarun/Netdomais','/Tarun/Testing','/Tarun/Tested_files');
my $local='c:\ftp_downloaded';
foreach my $ftp_folder(@ftp_dirs){
$ftp->get($ftp_folder,$local);
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用.因为get方法仅适用于从ftp而不是文件夹下载文件.
是否可以从ftp下载文件夹?
首先,使用以下命令启动所有perl脚本:
use strict;
use warnings;
Run Code Online (Sandbox Code Playgroud)
其次,你错过了一个;后续行:
my @ftp_dirs=('/Tarun/Netdomais','/Tarun/Testing','/Tarun/Tested_files')
Run Code Online (Sandbox Code Playgroud)
第三,我认为您可以尝试使用from command继承的方法并发出ftp 命令,或者模拟以下内容:Net::FTPNet::Cmdmgetmget
$ftp->get($_) for grep { 1 } $ftp->ls;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6620 次 |
| 最近记录: |