我想在批处理文件中使用 perl,然后退出 perl 并继续使用批处理代码。我想实现的一个小例子:
perl do something
echo hello
pause
我想在批处理文件中使用 perl,然后退出 perl 并继续使用批处理代码。我想实现的一个小例子:
perl do something
echo hello
pause
@echo off
perl script.pl
echo hello
pause
或者
@echo off
perl -e" ...code..."
echo hello
pause
如果安装了 Perl,应该没有问题:
perl -e "print $_ for 1 .. 10"
perl script.pl
您可能需要指定 perl 和 script.pl 的完整路径。
也许我只是读错了,但我将问题解释为询问如何将 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'
您也可以反之亦然。即从perl调用批处理命令
my $cmd = 'some command';
if (system $cmd) {
print "Error: $? for command $cmd"
}
保存这个 perl 脚本。这也应该做你的工作。