0

我想在批处理文件中使用 perl,然后退出 perl 并继续使用批处理代码。我想实现的一个小例子:

perl do something
echo hello
pause
4

4 回答 4

4
@echo off
perl script.pl
echo hello
pause

或者

@echo off
perl -e" ...code..."
echo hello
pause
于 2013-02-11T17:37:37.853 回答
4

如果安装了 Perl,应该没有问题:

perl -e "print $_ for 1 .. 10"
perl script.pl

您可能需要指定 perl 和 script.pl 的完整路径。

于 2013-02-11T17:38:44.783 回答
1

也许我只是读错了,但我将问题解释为询问如何将 perl 脚本直接嵌入到批处理文件中。

Activeperl 将其中的一堆添加为 .cmd 文件,并且 cpan 上有一个工具可以从您的 perl 脚本创建它们。

我还从快速搜索中找到了两个示例,似乎扩展了这个想法。它们允许您将代码放入同一个文件并在 perl 调用之前和之后运行 dos 命令,这就是我认为您要问的。

这是其中一个例子:

@rem = 'Perl, ccperl will read this as an array of assignment & skip this block  
@CD /d "%~dp0"  
@perl -s "%~nx0" %*  
@FOR /L %%c in (4,-1,1) do @(TITLE %~nx0 - %%cs to close & ping -n 2 -w 1000 127.0.0.1 NUL)  
@TITLE Press any key to close the window&ECHO.&GOTO:EOF  
@rem ';

#perl script starts below here  
print 'Hi there!  DOS rocks!\n'  
于 2013-02-11T23:36:28.600 回答
0

您也可以反之亦然。即从perl调用批处理命令

my $cmd = 'some command';
if (system $cmd) {
    print "Error: $? for command $cmd"
}

保存这个 perl 脚本。这也应该做你的工作。

于 2013-02-11T18:59:32.580 回答