如何使用perl脚本通过.bat文件运行文件夹中的一组.exe文件
How to run set of .exe files in a folder through .bat file using perl script
我是 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;
}
请告诉我我的逻辑是否正确?如果我错了,有人可以纠正我吗?
我认为 pl2bat 可能对您有所帮助。它允许您将 Perl 代码包装到批处理文件中。
顺便说一句,为什么要在 Perl 脚本中使用 echo
?你应该使用 print
。
编辑: 您已经编辑了您的问题,现在您想知道如何使用 Perl 运行 文件夹中的所有 exe
文件?
使用system
命令运行提供完整路径的exe文件。
参见:How to run an executable file using Perl on Windows XP?
编辑 2: do system $fh ;
这不是你的做法,请买一本书(我建议 Ovid 的 Beginning Perl)并开始学习 Perl。
使用system
执行exe:
while (my $file = glob 'C:\shekhar_Axestrack_Intern\*.exe') {
system $file;
}
另外,我感觉你是想写'C:\shekhar_Axestrack_Intern*.exe'
而不是 'C:\shekhar_Axestrack_Intern*.exe'.
我是 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;
}
请告诉我我的逻辑是否正确?如果我错了,有人可以纠正我吗?
我认为 pl2bat 可能对您有所帮助。它允许您将 Perl 代码包装到批处理文件中。
顺便说一句,为什么要在 Perl 脚本中使用 echo
?你应该使用 print
。
编辑: 您已经编辑了您的问题,现在您想知道如何使用 Perl 运行 文件夹中的所有 exe
文件?
使用system
命令运行提供完整路径的exe文件。
参见:How to run an executable file using Perl on Windows XP?
编辑 2: do system $fh ;
这不是你的做法,请买一本书(我建议 Ovid 的 Beginning Perl)并开始学习 Perl。
使用system
执行exe:
while (my $file = glob 'C:\shekhar_Axestrack_Intern\*.exe') {
system $file;
}
另外,我感觉你是想写'C:\shekhar_Axestrack_Intern*.exe' 而不是 'C:\shekhar_Axestrack_Intern*.exe'.