首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式的FTP命令行批处理脚本

使用正则表达式的FTP命令行批处理脚本
EN

Stack Overflow用户
提问于 2014-01-11 06:11:45
回答 1查看 1.4K关注 0票数 0

我正在寻找一个FTP工具,可以从Windows的命令行运行。我正在尝试连接到服务器并下载与指定正则表达式匹配的文件,然后将其删除。

我开始看Windows FTP命令行工具-它允许脚本文件,但命令似乎不支持正则表达式……仅单个文件或文件掩码(例如*.txt)

有没有人知道有这样的ftp客户端支持它?或者,我需要自己编写代码(例如,在.Net库中使用正则表达式列出输出,并发出单独的get和delete请求?)。(如果我不能在一个简单的批处理文件中做到这一点,也许我可以得到一些关于支持ftp客户端的.Net库的建议?)

当然,免费也是理想的,:)

谢谢。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-01-11 23:32:26

您可以安装Perl (免费: Strawberry Perl或ActiveState Perl),然后使用以下程序:

代码语言:javascript
复制
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";
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21055382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档