perl - 打开Windows资源管理器并选择输入文件以便代码在

时间:2016-07-06 17:28:16

标签: windows perl file

我想编写一个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不是这样做的吗?

干杯, 马特

2 个答案:

答案 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;
}