如何使用perl脚本通过.bat文件在文件夹中运行.exe文件集

时间:2015-01-06 05:18:27

标签: perl batch-file perl-module perl-data-structures

我是Perl的初学者,我必须创建一个.pl文件,我的文件夹包含大约30个exe文件(在G:\ Folder1中的Folder1内)。必须通过单击.pl文件执行所有这些操作。

我的尝试是:

   use strict; use warnings;
use autodie;  # automatic error handling

while (defined(my $file = glob 'C:\shekhar_Axestrack_Intern*.exe')) 
{
  open my $fh, "<", $file;  # lexical file handles, automatic error handling

  while (defined( my $line = <$fh> )) {
    do system $fh ; 

  }
  close $fh;
}

如果我的逻辑正确,请告诉我?如果我错了,有人可以纠正我吗?

2 个答案:

答案 0 :(得分:1)

我认为pl2bat可能会对您有所帮助。它允许您将Perl代码包装到批处理文件中。

BTW为什么在Perl脚本中使用echo?您应该使用print

修改:您已编辑过问题,现在您想知道如何使用Perl从文件夹中运行所有exe个文件?

使用system命令运行提供完整路径的exe文件。

请参阅:How to run an executable file using Perl on Windows XP?

编辑2: do system $fh ;这不是你怎么做的,请拿一本书(我建议由Ovid开始Perl)并开始学习Perl。

答案 1 :(得分:1)

使用system执行exe:

while (my $file = glob 'C:\shekhar_Axestrack_Intern\*.exe') {
  system $file;
}

另外,我觉得你打算写C:\ shekhar_Axestrack_Intern * .exe&#39; 而不是&#39; C:\ shekhar_Axestrack_Intern * .exe&#39;。