我正在寻找一个FTP工具,可以从Windows的命令行运行。我正在尝试连接到服务器并下载与指定正则表达式匹配的文件,然后将其删除。
我开始看Windows FTP命令行工具-它允许脚本文件,但命令似乎不支持正则表达式……仅单个文件或文件掩码(例如*.txt)
有没有人知道有这样的ftp客户端支持它?或者,我需要自己编写代码(例如,在.Net库中使用正则表达式列出输出,并发出单独的get和delete请求?)。(如果我不能在一个简单的批处理文件中做到这一点,也许我可以得到一些关于支持ftp客户端的.Net库的建议?)
当然,免费也是理想的,:)
谢谢。
谢谢。
发布于 2014-01-11 23:32:26
您可以安装Perl (免费: Strawberry Perl或ActiveState Perl),然后使用以下程序:
use strict;
use warnings;
use Net::FTP;
my $server = 'your.server.here';
my $user = 'my_username';
my $pass = 'my_secret';
my $pattern = qr{\.exe$}; # perl regex, this matches *.exe
my $ftp = Net::FTP->new($server) or die "connect failed: $!";
$ftp->login($user,$pass) or die "login failed";
## maybe do $ftp->cwd(...) to change working dir
my @files = $ftp->ls; # directory listing;
@files = grep { m{$pattern} } @files or die "no matching files found";
for my $file (@files) {
$ftp->get($file) or die "download $file failed";
$ftp->delete($file) or die "delete $file failed";
}https://stackoverflow.com/questions/21055382
复制相似问题