基本上我想将多个输入文件作为参数传递并运行我的perl脚本。我已经有一个.bat脚本,它选择一个文件。反正有没有.bat文件,它提供了一个选项,使用ctrl键选择多个文件,就像我们附加文件来说一个电子邮件时我们有这个选项的方式。
非常感谢帮助...... 感谢!!!!
现有的.bat脚本
答案 0 :(得分:0)
你的问题对我来说不是很清楚。我相信你想使用perl处理你的命令行参数。
运行代码:
perl run.pl file1.log file2.log file3.log
代码:
use strict;
use warnings;
my $val1= $ARGV[0];
my $val2 = $ARGV[1];
my $val3 = $ARGV[2];
print "$val1\n$val2\n$val3\n";
输出
file1.log
file2.log
file3.log
通过这种方式,您可以在perl脚本中获取参数,然后就可以处理它们了。
希望这会对你有所帮助。
答案 1 :(得分:0)
如果您只是想让用户选择文件,那么您不需要使用.bat
脚本编写一个.vbs
脚本来编写写入.hta
脚本的脚本结果到了注册表。
您可以直接在Perl中执行此操作:
use strict;
use warnings;
use Win32::GUI ();
my @files = Win32::GUI::GetOpenFileName(
-filemustexist => 1,
-multisel => 1,
);
if (@files == 1 && !defined $files[0]) {
print "Canceled\n";
} elsif (@files == 1) {
print "Selected one file: $files[0]\n";
} else {
my $dir = shift @files;
print "Selected multiple files in $dir\n";
for my $file (@files) {
print " - $file\n";
}
}
如果您还没有Win32 :: GUI(Can't locate Win32/GUI.pm in @INC ...
),则可以使用cpan Win32::GUI
安装它,至少使用Strawberry Perl。如果您使用ActivePerl,我认为您可以使用ppm install Win32-GUI
。