【发布时间】:2011-01-23 00:40:22
【问题描述】:
我目前的想法:我需要一个可以让我访问 USB 设备的模块。另外,我需要某种守护程序来通知我的脚本任何传入的 USB 连接事件。然后我只需使用一些正则表达式来查找我想要复制的文件,然后进行复制,可能使用一些文件复制模块。
但是我用关键字“USB”搜索了CPAN,却发现周围确实很少有相关的模块,而且那个看似最有前途的模块Device::USB说它不支持Windows系统。我正在运行 Windows XP SP3,顺便说一句。
我认为这种自动化对于 Perl 来说应该不会太难。但我只是卡在那里。
有什么想法吗?或任何其他建议?谢谢:)
更新
事情并没有想象中那么容易。我确信我还有很多东西要学。但是根据我现有的 Perl 知识,我已经设法编写了一个 make-do 脚本。我是来学习的。请评论我可以改进我的代码的地方。 一如既往地感谢:)
use warnings;
use strict;
use File::Find;
use File::Copy;
my $from = 'I:/'; #Volume letter for USB drive in my OS
my $to = 'E:\Copy-to';
while (1) {
if (-e $from) {
last;
}else{
sleep(30);
}
}
my @files;
find(sub{ push @files, $File::Find::name if /pdf$/}, $from); #Find the PDF files in the USB drive for Copying experiment
for (@files){
copy ($_,$to);
}
【问题讨论】:
-
搜索“USB”的问题在于,USB 基本上与它没有任何关系。您会从 HAL(而不是 USB)收到插入通知,并且您将通过文件系统(而不是 USB)与文件进行交互。
-
@hobbs,谢谢你告诉我这个。
标签: perl windows-xp usb