我想编写一个perl脚本,允许用户从Windows资源管理器中选择一个文件,并将其用作perl脚本中代码的输入(如STDIN)。
因此,代码会将Windows资源管理器打开到正确的目录,然后用户会单击(选择)他们的文件,然后脚本会将所选文件作为变量进行业务(例如我的$ selectedFile)。
我找到了一些代码来打开Windows资源管理器:
my $explorer = 'c:/windows/SysWOW64/explorer.exe';
my $directory = 'C:\\testdir\\';
system($explorer,$directory);
...工作正常(基于Perl monks http://www.perlmonks.org/bare/?node_id=313539)从pl脚本打开Windows资源管理器。
如何获取代码然后识别我在资源管理器窗口中单击的文件,并从中创建变量?可能或者Perl不是这样做的吗?
干杯, 马特
答案 0 :(得分:1)
这是一个使用Win32::GUI的非常简单的脚本:
Can't locate Win32/GUI.pm in @INC ...
如果您还没有Win32 :: GUI(cpan Win32::GUI
),则可以使用ppm install Win32-GUI
安装它,至少使用Strawberry Perl。如果您使用ActivePerl,我认为您可以使用<content></content>
。
答案 1 :(得分:0)
这是使用Tk的一种非常简单的方式。
use warnings;
use strict;
use Tk;
my $file = Tk::MainWindow->new->getOpenFile;
print "selected file: $file\n\n";
open my $fh, '<', $file or die $!;
while (<$fh>){
print;
}